Looks like this is the same issue: Nextcloud 16.0.1 Login Loop on Install
The PHP upgrade changed the owner of /var/lib/php/session/ to root:apache, I changed it back to nginx by sudo chgrp -R nginx /var/lib/php/session, then restarted through sudo systemctl restart php-fpm, now login works again!