Thanks for the tips, I figured something out.
Seems like mdns4_minimal is "shy". In the case of the "minimal" version
of `nss-mdns`, from the README:
> * If the request does not end with `.local` or `.local.`, it is
> rejected. Example: `example.test` is rejected.
>
> * If the request has more than two labels, it is rejected. Example:
> `foo.bar.local` is rejected. **This is the two-label limit
> heuristic.**
>
> * If, during a request, the system-configured unicast DNS (specified
> in `/etc/resolv.conf`) reports an `SOA` record for the top-level
> `local` name, the request is rejected. Example: `host -t SOA local`
> returns something other than `Host local not found:
> 3(NXDOMAIN)`. **This is the unicast SOA heuristic.**
>
> * Otherwise, the request is processed.
The first two points seem satisfied with `BRNBCF4D4182ECD.local`.
`host -t SOA local` returns:
```
local has SOA record local. nobody.invalid. 1 3600 1200 604800 10800
```
Not sure what to make of that as I don't really understand the point and
don't understand the function and contents of `resolv.conf`. My
`resolv.conf` was generated by NetworkManager.
**Anyway.** I amended `/etc/nsswitch.conf` hosts line to this:
```
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
```
And created `/etc/mdns.allow`:
```
.local.
.local
```
Now I can ping `BRNBCF4D4182ECD.local` and print jobs don't get stuck
anymore. Thank you!
I am still interested in what in my setup clashes with the way Debian
configures `nsswitch.conf` by default.