Quick note for anyone using AdGuard Home as their primary resolver, and counting on it forwarding requests to the local domain to OpenWRT's dnsmasq:
Not all clients will add the local domain to the request for a naked hostname, even if dnsmasq's DHCP passes it to the host as the search domain. It is up to the application to do this, not the host, and some applications don't. Test this if you like with "dig" (which doesn't) and nslookup (which does, at least on MacOS)
So if you've got this in your AdGuard Home list of resolvers:
[/myfabulousdomain.tld/]192.168.0.1:5353
(Where "myfabulousdomain.tld" is whatever you've in your local domain settings for DNS/DHCP in OpenWRT, 192.168.0.1 is your OpenWRT router's IP, and (optionally -- this is not necessary if they're on different hosts) :5353 points it to the port you've got OpenWRT's dnsmasq listening on)
This will only work for appliances and applications which append the local domain to requests for undecorated hostnames, either automatically or when the hostname alone returned NXDOMAIN. Some don't. Notably, a lot of IoT devices don't.
The answer is to add this to your list of resolvers in AdGuardHome:
[//]192.168.0.1:5353
Or whatever. For example, my setup is
tls://dns.quad9.net
tls://ordns.he.net
[/mydoghasfleas.org/]192.168.128.10 <-- my openwrt router
[//]192.168.128.10
Well, not really; I made up that domain name and IP. The point is the pattern in that last one -- which as far as I can tell is undocumented -- apparently tells AdGuard Home to delegate undecorated hostnames (i.e. no domain at all) to the IP address[:port] indicated. Hope this helps someone.