A couple of points here. First, every DNS server is supposed to have a whole view of the domain structure, therefore if an answer doesn't exist it shouldn't exist no matter to which server you send the query. In other words if one server knows about a certain domain and another doesn't then DNS isn't designed to ask another server just in case it knows a different answer....the answer 'This server/domain doesn't exist' *is* the answer.
Second, dnsmasq (asuswrt's default caching & forwarding DNS resolver) is responsible for forwarding DNS queries from your local clients to your ISP's server/s. As default it forwards queries to the fastest responding server only.
Look at dnsmasq man page for these options:
http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html
-o, --strict-order
By default, dnsmasq will send queries to any of the upstream servers it knows about and tries to favour servers that are known to be up. Setting this flag forces dnsmasq to try each query with each server strictly in the order they appear in /etc/resolv.conf
--all-servers
By default, when dnsmasq has more than one upstream server available, it will send queries to just one server. Setting this flag forces dnsmasq to send all queries to all available servers. The reply from the server which answers first will be returned to the original requester.
There's also a way of telling dnsmasq to use a specific DNS server for specific domains which may be helpful if you've local domains (ie non internet facing) that you wish to service.
-S, --local, --server=[/[<domain>]/[domain/]][<ipaddr>[#<port>][@<source-ip>|<interface>[#<port>]]
Specify IP address of upstream servers directly. Setting this flag does not suppress reading of /etc/resolv.conf, use -R to do that. If one or more optional domains are given, that server is used only for those domains and they are queried only using the specified server.
e.g. :
--server=/google.com/1.2.3.4 will send queries for *.google.com to 1.2.3.4, everything else will go to resolv.conf