The issue seems to be that with its current configuration (and including "bind-interfaces", and "except-interface=lo"), dnsmasq tries to update DNS via resolvconf which adds a file under /run/resolvconf/interface/lo.dnsmasq.
That file contains 'nameserver 127.0.0.1', which is absolutely incorrect given the configuration, at least because of except-interface.
This nameserver configuration in resolvconf appears to take precedence over the NetworkManager provided configuration (nameserver 127.0.1.1) also running dnsmasq.
The issue seems to be that with its current configuration (and including "bind-interfaces", and "except- interface= lo"), dnsmasq tries to update DNS via resolvconf which adds a file under /run/resolvconf /interface/ lo.dnsmasq.
That file contains 'nameserver 127.0.0.1', which is absolutely incorrect given the configuration, at least because of except-interface.
This nameserver configuration in resolvconf appears to take precedence over the NetworkManager provided configuration (nameserver 127.0.1.1) also running dnsmasq.