Network manager breaks pi-hole

Assumption being the mother of all f-ups ... thinking dnsmasq gets started for its DNS caching capabilities.
Totally forgetting it can also do DHCP.

Notice the --dhcp-range= argument above.
Am pretty sure some NM setting you configured triggers dnsmasq getting started for its DHCP server capabilities (pihole-FTL can also take over this part).
Can you post output for below ?

sudo grep -v '^\s*#\|^\s*$' -R /etc/NetworkManager/ --include=*.conf | sort | sed 's\:\ \' | column -t

Dit you create some sort of NM profile for connection sharing or similar that depends on running your own DHCP ?

EDIT:

nmcli connection show --active

Replace <UUID> below with the one found from above:

nmcli connection show <UUID>

EDIT2: might want to redact some of the output for that last one !