I am currently auditing the OpenWRT/Luci configs to see how the "vpn cascading" changes firewall settings and alike. I do see that per the docs it is typical to use police based routing for this, but right off the bat I can see that is not what GLI-Net is doing because "/etc/config/pbr" does not exist.
Progress: when clicking "enable vpn cascading" one single line in /etc/config/firewall is changed... "config forwarding 'wgserver2ovpnclient' goes from option enabled '0' to option enabled '1'.
(To recreate test, turn of cascading, copy /etc/config/firewall as /etc/config/firewall_no_cascade, turn on cascading, then run: diff -y /etc/config/firewall_no_cascade /etc/config/firewall )
A FEW THOUGHTS:
There is no "wgserver2wgclient" or "ovpnserver2ovpnclient", so the 'wgserver2ovpnclient' indicates to me that cascading was only designed for a wgserver through to a ovpnclient. Perhaps accidentally? Update wg>ovpn did not fix dns leaks.
I have "Block Non-VPN Traffic" turned on in global vpn options for all LAN to use the wgClient, so perhaps just sending the wgServer traffic to LAN would achieve cascading effects? I could use the server to access all my local services and naturally outbound traffic would be caught by the kill switch? Update, tried this with many different firewall configs... no luck.
UPDATE!
Fixed?
OK, so when gli.net generates a WGserver config it assigns a DNS for the [Interface]. For me this was DNS = 64.6.64.6,10.0.0.1 which causes google/cloudflair dns services to explicitly kick in.
Solution: change your WGserver conf DNS to use the same DNS as your WGclient's
You will then be using the DNS of your VPN provider.
Note, I feel like I have located the core issue here but would like to go a step further ensuring that the tunnel AND dns are encrypted.