In short, there are two directions to take when it comes to storing formatting and meta of notes within files. All notation applications have to retain content and show it on demand. That's essentially all any notes are; even on paper. You write notes, and paper has constant recall, available anytime.
I fall under the preference of readable notation at all times, and the format should be contained within it. Markdown is itself format that allows a standard text file to hold formatting by using specific sequences of characters to indicate specific formats. A simple example is that if you start and end a word or sentence or any sequence of characters with two asterisks, it will be formatted as "bold". This is clearly indicative on the raw text, making it human-interpretable as bold while still being plain text.
In the end, I think that the notes with that much formatting reach into a different style of application. Are you writing a document or a note? Maybe if it's heavily formatted, it's definitely for an application that can handle those. My approach is that once you get Markdown figured out, it'll hold everything you really need. GFM offers checkmarks and tables, and adding something like Grav as your CMS allows further extension with !-notices and colours . All this on a fully readable raw format should leave you with more than enough to take information, save and recall it, and not be locked into a specific app with specific JSON formatting that may or may not import, export, or carry over. I always have raw text files that work everywhere. For me, that's the deal.