Is there any way to query kodi via the web API or from ssh to see if it thinks it's connected and outputting through HDMI?
However re-reading your description it sounds more like the receiver loses the connection to the RPi when the source changes..
I think you're on to something. The receiver has a feature I'm not terribly familiar with called "scenes" that lets you change a bunch of settings with one command. One of the settings it can change is input. So I created two scenes, one with kodi input and two with a video game console as input. If I tell the receiver to change to scene 1 instead of telling it to change to input 1, then it works. Still doesn't show up on cold start, though. Switching scenes back and forth after everything is fully up does work.