This is my setup:
PC with windows 10 which network adapter settings are set to automatically obtain DNS and IP from router. My router runs DDWRT who has its DNS server set to my raspberry pi which run Pi Hole. This setup works fine. However, once I connect to my VPN, this changes. I have tried both the client my VPN provider provides and a VPN client called Viscosity. Both creates the same problem however. When I connect to my vpn, ads no longer get blocked. When I check my adapter properties again, it is now set to 127.0.0.1. (localhost). I guess this is normal as my VPN creates a separate adapter, I guess my real adapter routes request to it. But my VPN adapter shows the same address. If I change it and close the window, it is reset.
My VPN provider’s client does not have much DNS settings, but Viscosity has. I have tried settings such as ignoring VPN DNS settings but it has no effect. I’ve tried all three settings under what interface DNS is listening.