I was able to modify the LSP plugin to use Geany's spawn module (I needed the `spawn_async_with_pipes()` API which isn't public so I made a copy of the spawn file in the plugin at least for now). The key point is
https://github.com/geany/geany/blob/34c97386f471df7dc923145dda30df3d879f0c66...
and the `CREATE_NO_WINDOW` here
https://github.com/geany/geany/blob/34c97386f471df7dc923145dda30df3d879f0c66...
My hope is that once the CI builds work, this will just work and I won't have to do any development under Windows ;-).