My problem when I was messing with this yesterday was that I tried the Addresses method (the lower circle on your screenshot) which didn't work, and I also tried DNS Forwardings, and that worked briefly and then stopped and I'm not sure why.
I haven't yet tried setting up a Local Server because I'm not trying to serve DNS for my LAN. I realize that sounds weird, but this is for a separate private domain on my LAN, I'm building a private proxy host with name-based virtual hosting (think nginx or Caddy's ability to serve websites for many domains on a single host). So, ideally I want to forward queries for *.example.vwan
to a DNS server running on the proxy host.
Anyway, I'm going to keep trying, guess we'll see what happens.
Edit: After a factory reset, I put the device in Manual DNS mode, with the address of the proxy host in DNS Server 1 field, and a generic provider in the DNS Server 2 field.
DNS is now resolving properly for the private domain, and it survived a reboot this time. I will use this config a while, see if it is fragile, and report back.
Edit 2: this mysteriously stops working after a minute or two of working properly!! What on earth?
Edit 3: from an explanation of Luci > Network > DHCP and DNS > Advanced Settings > All Servers:
By default, when dnsmasq has more than one upstream server available, it will send queries to just one server. Setting this parameter forces dnsmasq to send all queries to all available servers. The reply from the server which answers first will be returned to the original requeser.
So ... I probably can't just add in the proxy host's DNS server (which only replies affirmatively for things it knows about, not other stuff on the internet as well) and expect things to Just Work, whether they work or not would be non-deterministic in this scenario.