I assume you have set the client configs to connect to something like "
vpn.example.com:<port>" . How does DNS resolve this when inside your local LAN? Does it resolve to the same public IP address that your DSL router is connected to, or does it resolve to an internal address like 192.168.1.1?
The way I have this working is to ensure that my VPN URL always resolves to the external IP address, even when I am inside my home network. To do that I had to update my DNS server configuration to make sure that my VPN URL is always resolved by an external DNS provider... I have my own custom network gateway/router and set dnsmasq.static to include the line...
Now this works for me because my wireguard server is running on my custom gateway/router... no NAT forwarding to an internal host running wireguard. If you are running wireguard on an internal server then you also need to make sure that your firewall rules don't block connections to your external interface from your local LAN and do the right NATing -- which is probably not permitted by default. I forget how to do this, but I'm sure google will find some instructions.
David