When you try to connect to a new WiFi access point, select Advanced Settings, and in advanced settings select Static instead of DCHP. Here you can enter up to 2 DNS settings and select an IP address for the network only. Your global IP will be determined by your ISP.
Your carrier will likely hijack your DNS regardless of where you tried to send it unless you use something like the "184.108.40.206" app that encrypts the traffic and sends it to cloudflare. Not going to be easy if you're trying to avoid region locks, a VPN is probably the best option for that
I am running a DNS server at home. I put my server's address in my router's internal LAN configuration. my DNS is set to query the regular ISP's DNS if it fails to resolve. any Denice connected to my network will get my DNS server first via the DHCP configuration, and then my NS will forward off the request if it doesn't have the info. you cannot put a dynamic address as your DNS server because the whole point of a DNS is that it never changes address, and can always be found at the same IP