On the theory that the upload 500 error is because the media directories aren't synced with the bucket, I'm doing a dry run of the sync and wow... the sheer number of cached avatars & headers from remote servers is... concerning? It was nothing but avatar caches for a few minutes now, and it's moved on to headers just now. The lack of any user-level mechanism for cleaning these files up has been pointed out as a problem, I believe.
All right, the instance is running and media uploads seem to be working again, though there are sporadic failures that I'll be watching & tweaking for while we try this for a few days. Hang on, folks!