The %post section of the spec file unconditionally changes the home directory of the "ftp" user. I had changed the home directory to match my setup, but on installing a new version (compiled without PIE per the hang bugzilla), it got changed back and broke my mirror until I realized what had happened.
Another vsftpd packaging bug: /etc/logrotate.d/vsftpd references /var/log/vsftpd.log, but by default, vsftpd creates /var/log/xferlog.
Okay, WRT the home directory bit, I'm an idiot and didn't see the "anon_root" config directive. And the log file name is consistent everywhere I think.