My experience has been very mixed on different platforms.
On Windows 10, if Override DNS Servers is not checked, Windows almost never uses my supplied DNS servers it seems. But then it has on random occasions during testing. I dont know what changed. If I enable Magic DNS, I cannot resolve any local domain names via supplied DNS servers in Tailscale. In Windows 10, its all DHCP and no custom DNS settings or anything.
On Android, its very hit and miss. Disconnecting and reconnecting fixes it sometimes. Override DNS seems to help alot to make things more consistent. Again though, Magic DNS breaks all local DNS lookup.
I will say I haven’t been very methodical at testing this, but I’d say its on par with the average user experience. Main point though, MagicDNS usually causes more issues than its worth, but should evolve into a useful feature once platform specific quirks are over come. And Override Local DNS is necessary to make local lookups work 95% of the time.
All machines on 1.10 by the way.
And finally, Tailscale has done a lot of great work overall. I know each supporting something like DNS is extremely difficult across a ton of platforms.