Why is "ps" output not resolving the uid of my process?

Yes, it's because it's too long...

from the ps(1) man page...

euser  EUSER  effective user name. This will be the textual user ID, 
              if it can be obtained and the field width permits, or 
              a decimal representation otherwise. The n option can be 
              used to force the decimal representation. 

The username is too long to display - more than 8 characters.

If you want a ps listing with longer names, you have to set the allowed maximum length yourself:

$ ps -e -o "pid,user:16,command"