First, they are manually handled in on_key_press_event(), and this is the part that is implemented wrong, it checks for layout-dependent event->keyval.
But as the GTK issue also says, it can't do anything else. "I'm not sure what the right thing here is. Matching hardware codes directly is not feasible, as these seem to be hardware-dependent. GDK can do that, because GDK has access to all keyboard layouts and is able to check whether current key event matches in a different layout. Geany can't."
The lucky fact that GTK's keybindings acted as a backup was purely good fortune, and suitably confusing to the debugging. Definitely kudos to you and the GTK guys who debugged it.
Unfortunately that fallback will not work for all keys, and as the GTK folks noted, Geany can't do anything about it since it doesn't have sufficient information.
So irrespective of finding time and somebody to fix it , it doesn't seem to actually have a fix.
That was why I suggested in comment 4 you re-bind the action after switching to the alternate keyboard layout.