I tried both Mullvad and Mozilla VPN and when I do a dns test, both are still using my ISP’s DNS instead of the VPN’s. This only happens on my Arch systems, works fine on my phone.
EDIT: Turns out these VPN clients depend on systemd-resolved in order to change your DNS. Enabling the service makes it work properly. A bit scary that they don’t give you a warning that you’re leaking DNS if you don’t have systemd-resolved enabled.
So after doing some digging, I found out that Mozilla VPN depends on systemd-resolved in order to change DNS: https://github.com/mozilla-mobile/mozilla-vpn-client/issues/3003#issuecomment-1067898610
At first, I saw no need to use systemd-resolved so I never enabled it. After enabling the service, VPNs change the DNS resolution just fine. Thanks for your help!