Yes I see the logic there. The only issue I see is that on game exit, "loading" and "game over" start to fade at the same time, just "loading" fades faster than "game over".
So the code I posted earlier was trying to get "game over" to fade after "loading" is completely gone.
Just tried this myself. On my PC with an integrated graphics, I don't see either "loading" or "game over" on game exit, just black screen then suddenly the front end UI.
I guess depending on the theme there may be a lot stuff going on when exiting a game and reinitializing the front end, so by the time everything is ready, that 1s animation time has passed.
I tried to add a wait time and was able to see the "game over" image:
<image src="images/gameover.png" width="1920" height="1080" alpha="0" layer="6">
<onGameExit>
<set duration="0.001"><animate type="alpha" to="1"/></set>
<set duration="1"><animate type="nop"/></set>
<set duration="1"><animate type="alpha" to="0"/></set>
</onGameExit>
</image>