You need to find out what the browser is doing on your phone.
Some like firefox on android, tend to simply think anything ending in ".lan" should end up as a search query on whatever search engine you have configured.
Some like Chrome might have DNS-over-TLS/HTTPS enabled by default, which means your DNS lookups ignore the DNS servers set via DHCPv4/v6 and just head to the default configured DNS-over-TLS/HTTPS providers (Cloudflare, Google, etc).
Simple test: Download a network testing utility, try to ping your domain name. If it resolves correctly to an internal private address, it's a browser issue. If not, it's a DHCP issue and you can work from there.
The fact that blocking all LAN outbound heading traffic to 53 (in essence blocking every dns query a client on your network might send past your OpenWRT resolver) doesn't do the job means it's most likely DNS-over-HTTPS traffic which uses 443 by default.
Thank you, it looks like it's a DHCP issue. Pings from my device to koffiezetapparaat.lan fail due to not resolving IP, pinging 192.168.1.190 works normally.
Could you post the content of your /etc/config/dhcp file (mask the text if you see anything sensitive)? It also might help to see what your phone gets via DHCP, again a network testing utility/app usually has that info. Net Analyzer is a good one
Also take a look at this, might be what you're looking for:
I installed the app to do the pinging to the devices. I read the article yet setting the systemwide DNS to my local DNS server might be undesirable when going outside home.
From what I can gather, your DHCP settings look right.
The key might be disabling the Private DNS feature on your phone. As far as I can understand, when that's enabled on Android 9/10 it forces usage of DNS-over-TLS and basically ignores any DNS server you get via DHCP. The article I linked has an image (under section Android 9 Pie and newer) which shows a disable option for that, which might set it to use normal DNS server again.
Unfortunately it seems that Android devices are trying to contact other nameservers than the advertised from dhcp server. If the solution mentioned above won't work, you can try to hijack.
I have tried all of your suggestions but sadly, they didn't work;
ergamus: disabling the private DNS feature didn't make koffiezetapparaat.lan resolve;
trendy, erdoukki: I hijacked DNS, but this didn't change behaviour (I checked with the Network Analyzer app)
As far as I can tell (I have limited knowledge with networks), Android uses DNS over HTTPS. Redirecting port 443 traffic to 192.168.1.1:443 doesn't work because that port is used for regular HTTP traffic, too, and not just DNS resolving.
I think that the only way to get this done is by somehow filtering DNS requests from the HTTP traffic but I really have no idea how to do this.
try using Blokada app on the phone to set your own router as DNS.
Blokada creates a fake VPN connection so it can "tunnel" and redirect all traffic from the phone to a local DNS server (still on the phone) so it can do adblocking. You can use it to change Android's DNS as well by setting a custom DNS in Blokada.
Also, I tried blocking 8.8.8.8 and 8.8.4.4 but for some reason, this lead to the same result. Not sure if my blocking is right, so I added a screenshot.