Chalk one up for Google Gemini who proposed the following fix that worked for me.
Try Re-initializing DHCP Settings in the GUI (Safest First Step):
Go to Services > Dnsmasq DNS.
Even if you don't want DHCP enabled, try this:
Select an interface (e.g., your LAN interface) in the "DHCP Server" section.
Enable the DHCP server for that interface.
Enter a minimal valid DHCP range (e.g., 192.168.1.200 to 192.168.1.210 if your LAN is 192.168.1.0/24).
Click Save.
Now, go back and disable the DHCP server for that interface if you don't need it.
Click Save again.
The idea is that by explicitly enabling and then disabling (or just saving with a basic enabled config), you might force OPNsense to correctly populate the dhcp section in its internal configuration data structure, even if it ends up being empty/disabled.
After doing this, try restarting Dnsmasq from the GUI. Check the backend log again for the error.
Try Re-initializing DHCP Settings in the GUI (Safest First Step):
Go to Services > Dnsmasq DNS.
Even if you don't want DHCP enabled, try this:
Select an interface (e.g., your LAN interface) in the "DHCP Server" section.
Enable the DHCP server for that interface.
Enter a minimal valid DHCP range (e.g., 192.168.1.200 to 192.168.1.210 if your LAN is 192.168.1.0/24).
Click Save.
Now, go back and disable the DHCP server for that interface if you don't need it.
Click Save again.
The idea is that by explicitly enabling and then disabling (or just saving with a basic enabled config), you might force OPNsense to correctly populate the dhcp section in its internal configuration data structure, even if it ends up being empty/disabled.
After doing this, try restarting Dnsmasq from the GUI. Check the backend log again for the error.