Thank you for looking at the problem! And thanks for the links to how to use the init templates, that's useful.
If you don't know the answer, that's fine, we can investigate it. I just wanted to ask in case anyone already knows the answer, before we spent too much time trying to figure it out.
Our course page is slow every time not just the first one (by the way, the times I quoted are running on the desktop on my PC with profiling, on devices people are reporting much slower times). But there may well be other causes as well as this one. For our module plugins where it definitely compiles the template each time (in that one we basically treat it as HTML so it's different each page) the performance is fine.
I think my next approach might be to confirm if this is our problem - I can probably do a hacked build of the app just for testing, where I make it pre-load our template, and see if that really does make it faster or if it makes no difference and the real problem is something else.