NetBSD has a diff. location of nologin script which is called as shell with -1 as option in enewuser. enewuser uses $USERLAND which is same for NetBSD and FreeBSD but NetBSD has /sbin/nologin and FreeBSD has /usr/sbin/nologin. Reproducible: Always Steps to Reproduce:
Ok now the login shell is recognized based on the files that are actually present, instead of checking the userland, so this is fixed.