IRO libreoffice, I think you are right, GTK is the default UI library and is built in to the code so it doesn't have a gtk directory in https://github.com/LibreOffice/core/tree/master/vcl where all the alternative UI libraries are, and that confused me.
Something similar might be the case for the other apps you listed too.
One thing to be clear about, listing large well supported projects like Libreoffice, Firefox, or Chromium is pretty irrelevant to Geany which is a volunteer project and is unlikely to add backend specific code (Wayland in this case), we have in the past expunged an amount of X11 specific stuff, and we expect GTK or other portable libraries to handle backend specifics, not us. We simply don't have the resources to do Wayland specific token handling that big projects might do.
As I said before, I can't see where GTK makes Wayland activate tokens available to applications so they can handle it, and in my opinion it should not require the application to do anything.
Although I havn't examined it closely, possibly the activation token is one of the things handled by the `GtkApplication` object in "primary and local" mode in a way that it should not leak to the application. Geany does not use `GtkApplication` as it was written long before that existed, and last time it was examined `GtkApplication` didn't handle Windows or provide some of the features that Geany's primary/local implementation gave. If somebody wants to examine in detail that might be useful.
The reasoning behind preventing "evil_app" for example from popping its own version of the password dialog over the top of the real one to read the password is good. But IMO the implementation is wrong, the password dialog should be able to be identified as secure and prevent any interaction with any other windows so it is guaranteed the password will go to that. Sure its complicated for the secure password feature, but that way it does not impinge on every other application.
As for GTK4 ....... [deep breath] ...... (bearing in mind I am not a GTK expert but I am quoting one ;-) ... GTK4 is missing a number of features that Geany (and likely other complex apps) use. IIUC we would have to make our own widgets to maintain those features, but in C (not C++) that is a lot more work than the port from GTK2 to GTK3. And the Scintilla editing widget which is the main window is not planning to include GTK4 support "soon" due to how much [difference](https://groups.google.com/g/scintilla-interest/c/RX4kQkWJBk8/m/80XWNgucAwAJ) there is.
So Geany has put GTK4 on the nearest backburner and turned the gas down to off.