You dont have to disable connmand entirely.
Little background:
$ apt show connman
[..]
Description: Intel Connection Manager daemon
The Linux Connection Manager project provides a daemon for managing
Internet connections within embedded devices running the Linux
operating system. The Connection Manager is designed to be slim and to
use as few resources as possible. It is fully modular system that
can be extended through plug-ins. The plug-in approach allows for
easy adaption and modification for various use cases.
.
ConnMan provies IPv4 and IPv6 connectivity via:
* ethernet
* WiFi, using wpasupplicant
* Cellular, using oFono
* Bluetooth, using bluez
.
ConnMan implements DNS resolving and caching, DHCP clients for both IPv4 and
IPv6, link-local IPv4 address handling and tethering (IP connection sharing)
to clients via USB, ethernet, WiFi, cellular and Bluetooth.
.
This package contains the connman daemon and its plugins.
You only have to disable the DNS stub resolver/proxy component.
From the man page:
-r, --nodnsproxy
Do not act as a DNS proxy or support external DNS resolving. Depending on how ConnMan is compiled, it will by default direct all DNS traffic to itself by setting nameserver to 127.0.0.1 in resolv.conf(5) file or leave DNS management to an external entity, such as systemd-resolved. If this is not desired and you want that all programs call directly some DNS server, then you can use the --nodnsproxy option. If this option is used, then ConnMan is not able to cache the DNS queries because the DNS traffic is not going through ConnMan and that can cause some extra network traffic.
You can do so by running below which will start an editor for the connman systemd unit:
sudo systemctl edit --full connman.service
Find the line that starts with ExecStart= and append --nodnsproxy at the end so it looks similar as below:
ExecStart=/usr/sbin/connmand -n --nodnsproxy
Save/exit and run below to apply:
sudo systemctl restart connman.service
Restart pihole-FTL:
sudo systemctl restart pihole-FTL.service
And check who is listening now on port 53:
sudo ss -nltup sport = 53