I found an useful article that explains what's the strategy to choose the DNS Server among multiple interfaces:
Windows uses a very complex logic for name resolution when dealing
with multiple network interfaces.
The behavior can be changed from multiple points:
- The network adapter priorities can be managed by a parameter called
the interface metric, which can be changed for each adapter through
Control Panel (
Adapter->Properties->TCP/IPv4(IPv6)->Properties->Advanced->Interface
metric) or Power Shell commands ( Get-NetIPInterface and
Set-NetIPInterface).
- From the Group Policy Editor (gpedit.msc) at
Computer Configuration->Administrative Templates->Network->DNS
Client.
- From the system registry (regedit.exe):
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters
Some of the parameters are:
-DynamicServerQueryOrder
-DisableSmartNameResolution
-DisableParallelAandAAAA
All of the above parameters are independent and may interfere with one
another.
To your "why" question, the logic would depend on what's best for you. For example you want that the resolution to your internal or external domains are resolved by your own DNS Servers then you will be able to monitor all DNS traffic, on the other side it could lead to privacy issues or add unwanted load to your own DNS Servers
nslookup
uses the DNS server on the interface with lowest metric. Browsing (IE, Edge, Chrome) seems to trigger queries to DNS servers on both interfaces simultaneously (within 1-2 milliseconds or even faster). So be careful what you interpret from testing withnslookup
alone.