With my current setup, the issue is reproducible. If I start the nbdkit server by placing a startup script in /etc/local.d to start on boot, it will start, but the nbd-client will always hang during negotiation. Killing and restarting the server and/or the client does not resolve the deadlock.
However, if I run the exact same script manually, by logging into the server, then nbd-client is able to successfully connect to the nbdkit server and everything works as expected.
During my tests, I found that when I killed nbdkit, it would see errors about their being insufficient "magic" or an invalid password. I am not using any passwords, and both the nbdkit server and nbd-client are on the same host, connecting through 127.0.0.1