Expected
500 response implies a problem in the server, not with the information submitted by the client. A 500 response to /v1/sessions/current should not log the user out.
Code
Maybe some more nuanced handling at https://github.com/getodk/central-frontend/blob/06ce7fdae3360fe0cb8b96f236a887442f56c34f/src/util/session.js#L263-L274 would help.
Related