petski,
You are taking a simple situation and overcomplicating it by a lot.
That switch is overkill for what you have described. A $15 TP-Link dumb switch would have been better. Do a factory reset on the Cisco switch to turn it back into a dumb switch and leave it as a dumb switch. Do not do DHCP on it. Ever.
Use Kea DHCP and Unbound DNS. Google for how to set up Unbound. Unbound will be a fallback DNS server. KEA is fairly simple to use now that it does not have hidden boxes for simple config options.
Use the DNS override box on KEA to access Pihole. Find a box associated with your LAN interface where it asks for DNS servers. It will probably have 192.168.1.1 if 192.168.1.1 is your router address. Put the static address for pihole in that box in place of 192.168.1.1.
I am assuming all devices are on the same LAN. If you have more than one subnet, then I don't know if KEA can point to a pihole server on a different home subnet. Probably not. Look into Adguard Home instead, but you will have to edit AdguardHome.yaml to add all the local subnets it needs to serve.
You are taking a simple situation and overcomplicating it by a lot.
That switch is overkill for what you have described. A $15 TP-Link dumb switch would have been better. Do a factory reset on the Cisco switch to turn it back into a dumb switch and leave it as a dumb switch. Do not do DHCP on it. Ever.
Use Kea DHCP and Unbound DNS. Google for how to set up Unbound. Unbound will be a fallback DNS server. KEA is fairly simple to use now that it does not have hidden boxes for simple config options.
Use the DNS override box on KEA to access Pihole. Find a box associated with your LAN interface where it asks for DNS servers. It will probably have 192.168.1.1 if 192.168.1.1 is your router address. Put the static address for pihole in that box in place of 192.168.1.1.
I am assuming all devices are on the same LAN. If you have more than one subnet, then I don't know if KEA can point to a pihole server on a different home subnet. Probably not. Look into Adguard Home instead, but you will have to edit AdguardHome.yaml to add all the local subnets it needs to serve.
"