As always it turns out that I’m an idiot. I had some upper-case letters in my domain (forum.HappyCoding.io). Modifying the app.yml file to only user lower-case letters (forum.happycoding.io) solved the problem.
I noticed this when I looked at the output for disocurse-doctor, so thanks very much!
Btw, I found a similar thread with a similar problem here.
Yeah, the discourse-doctor tool printed out the config data, which is where I saw the upper-case letters. That coupled with seeing this post and remembering encountering another problem with upper-case letters finally clicked everything into place in my brain.