That said, I have an idea (or hope at least).
The same problem on a native x86_64 machine. I suspect the cause is the `g_spawn_async_with_pipes_and_fds()` call here
https://gitlab.gnome.org/GNOME/glib/-/blob/main/gio/gsubprocess.c?ref_type=h...
because it uses the helper binary. If I replaced it with Geany's `spawn_async_with_pipes()`, it might work. But that means creating my own copy of gsubprocess.c and related files like the windows implementations of input/output streams. And worst, developing it under Windows. I probably won't do it in the short term.