Update: I've tried out a bunch of solutions and unfortunately Roam is the only one that offers real block-level transclusion that isn't a messy hack. I've decided to continue paying for Roam but also pay for Obsidian in the hopes that they (or some other non-hosted or self-hosted solution) manage to figure it out.
For a short example of block-level transclusion in action see here https://youtu.be/O413tVCseio
@darius Thanks for the posts about these tools, I started using Roam, got on really well with the interface, and then suffered from worry paralysis about the non-open-source implementation. I have a lot of data that this would help with, but I don't want it to be too good, otherwise I'm locked in (I don't mean my data are locked in, the export works. I mean I get locked-in to their UI and rely on features that no-one else implements)
@enkiv2 - Roam is something you should look at; I found a lot of value in videos about the system originally, and there are heaps of user-contributed ones around these days, it had a lot of publicity and a lot of people have arrived on Roam who otherwise would not have even thought about anything more than "a bunch of Word docs", so they have the enthusiasm of the recently converted :-) Which is quite cute.
@darius Thanks for the posts about these tools, I started using Roam, got on really well with the interface, and then suffered from worry paralysis about the non-open-source implementation. I have a lot of data that this would help with, but I don't want it to be too good, otherwise I'm locked in (I don't mean my data are locked in, the export works. I mean I get locked-in to their UI and rely on features that no-one else implements)