SOLVED
OK so the reason is that running hass in Docker will put it on the 172.17.0.X network, and nmap is unable to obtain the MAC address from devices on my 192.168.1.X network.
The fix is to use --network="host"
.
I’d read somewhere that this was not optimal for Docker, but in this case it’s the only option.