I'm absolutely flummoxed.
I was pretty sure that I'd narrowed down the login issue when I found that DEFAULT_HOME in in /etc/login.deps had to be "yes", I booted into recovery mode, went digging and found that it looked fine.
So I let recovery mode finish the boot process...and now everything works. Why was it broken? I don't know! Why does it work now? Equally clueless.