Can you use {{ }} expression to target <h1>Heading</h1>or <p>Body copy</p> in a markdown file?
Like the {{ content }} element will display the markdown of the page.
But can specify it, {{ content.h1 }} (I know it wont work, just illustrate)? So you can put <h1>Heading</h1> and <p>Body copy</p> in their div for easy positioning and styling?
I think your approach is quite difficult to realize. As long as there is only one heading this seems easy: writing a plugin and parse the contents which will be made available as a Twig variable. But how to deal with multiple headings? You may use some code I wrote for Toc plugin.