I follow this guide from Mullvad almost exactly (I skip the optional Disable Ping section, because it makes network troubleshooting difficult): WireGuard on Qubes OS (Onion)
Note: generating keys for Mullvad over Tor without JS doesn’t always work - would recommend doing that over the clear, or using Tor in Standard security for that session exclusively.
I make multiple of these Qubes, all with international connections, but one specific one (with a lower security color, like yellow or orange) for in-country connections. This specific one is only used when a site blocks international connections (e.g. my local library’s website). Thus far, I have never used it…but it’s there in case I need to. I then connect App qubes to different VPN qubes for application-specific network isolation. This isolation is otherwise only achievable with something like Safing (SPN).
To setup a non-Mullvad Wireguard connection, I would just follow Mullvad’s guide but remove the Mullvad-specific parts. This probably includes the DNS-hijacking section, but perhaps you can incorporate an equivalent setup in your environment. This is where my knowledge ends. Good luck