You will use your own travel router between your personal/work device and the local Airbnb/hotel’s internet router. On the travel router, you will use WireGuard as well as on the VPN server at home to host the server.
Total solution cost: ~$140 (don’t spend more than this with other VPN setup providers!)
For the server router, DNS settings can really be anything you like. I personally recommend setting the DNS to Manual and using Cloudflare + Google. The only reasons for this are distrust of ISP DNS and generally better performance from Cloudflare. If for some reason Cloudflare DNS servers are far away from you, then it may be best to keep your ISP's DNS (Mode: Automatic). You can always compare ping times of DNS servers using the "ping" command in your command prompt while connected to your home internet.
You will also need to enable "Remote Access LAN" in the Global Options of the server router on the VPN Dashboard page.
For the client GL.iNet travel router, you should use your Wireguard server’s IP address in the profile config. To edit the profile config, go to Wireguard Client and edit the “DNS = ” line to equal your server IP (ex. 10.0.0.1).
Then, set the DNS mode to “Automatic”. This uses the DNS servers configured on your Wireguard server and ensures your server router’s DNS cache is checked before sending the DNS requests to whatever server you chose.
Given that a regular WireGuard server has the ability to be blocked or not work at all for some users (those with home networks behind CGNAT), Tailscale is the option that will be described here.