My local domain is .lan. I have some devices on the local network that can only resolve other devices' hostnames when using the FQDN, so for example nslookup openwrt.lan would work but nslookup openwrt wouldn't. But.. this only happens on certain devices.

For example, my Debian machine can resolve it. Some of the Docker containers it's running can resolve it, but some others can't.. even if their networking mode matches up. My Windows machine can, but my roommate's can't.

I use adguardhome running on a different machine than the router, and that's my DNS server.

What's the reason behind this behavior? Maybe some misconfiguration or just a misunderstanding on my end? I had already realized that it's a better practice to use the FQDN instead, so I will. Just want to understand.