It seems the issue wasn't actually the entry address
and more of a build screwup. I just rebuilt the
loader and now it works?
So let's just leave it at that.
Apparently newer versions of devkitARM fixed
an issue in the linker that caused the ARM9
entry address to be incorrectly configured.
And by doing so they broke the workaround
measure we used for the incorrect entry
address problem.
Rebuild _DS_MENU.dat with correct addresses
to fix the problem.