Using json vs converting to markdown

That is correct, but you can also specify layout and/or type in front matter to target a specific template.

Or you could conditionally perform the JSON->HTML conversion if the page bundle has a JSON resource.

I would try to avoid using a shortcode if possible; it’s just one more moving part.

There are a lot of ways to approach this. If I were you I would create a small prototype using the content structure above.