Thanks for the idea! I managed to get it working but I was having trouble with DNS config (connman overriding the config on each network change). I ended up writing a connman plugin to get around that, which integrates it closely with the system UI (you can configure it using the settings app).
I uploaded what I have to WireGuard for Sailfish (Settings UI) | OpenRepos.net — Community Repository System in case you want to give it a try. It works fine for my basic setup, but it may break for anything more complicated (feedback welcome!).