Adding dynamic data to Gutenberg will be one of the best thing ever happened to the plugin. It will allow developers to connect with different data sources and expand the use of Gutenberg for other purposes.

I probably vote for the on-the-fly rendering. With a proper cache layer and lazy-load method, we might make it work without affecting the performance.

Using a template engine might work, but I don't think WP will do that. It's too much for this. And it might affect the whole theme ecosystem and will introduce another way to build themes (which is confusing).