На мой взгляд, это неправильный способ мышления. Хотя библиотека libc несколько ограничена последовательными попытками использовать DNS-серверы, глобальный список DNS-серверов должен содержать все записи, которые равны, и поведение dnsmasq совершенно корректно.
Если вы хотите настроить определенные поддеревья DNS для обработки различными DNS-серверами в качестве исключения для корневого дерева, вам следует сделать именно это.
Насколько я знаю, вы можете настроить предоставляемые NetworkManager экземпляры dnsmasq, в /etc/NetworkManager/dnsmasq.d/
которых уже есть ответы на другие вопросы.
Также dnsmasq не единственный вариант для современного дистрибутива. Вы по-прежнему можете использовать старый добрый /etc/resolv.conf
файл конфигурации libc во всех дистрибутивах, где есть NetworkManager, включая Ubuntu. Или вы можете использовать Unbound в некоторых дистрибутивах. В современных дистрибутивах есть все виды подходов к локальной конфигурации DNS.