Just tested, and the git process spawned to do a git sync is running as root, not as portage. Reproducible: Always
Poking through the wiki, it looks like a workaround would be to set 'sync-user = root:portage' in your /../../repos.conf/gentoo.conf.
err, maybe 'sync-user = portage' in your /../../repos.conf/gentoo.conf would be better...
Looking at the code, the rsync module uses self.spawn_kwargs which is supposed to make it drop privileges, but it only if you first chown the repository to whatever user you want it to sync as: https://gitweb.gentoo.org/proj/portage.git/tree/pym/portage/sync/controller.py?h=v2.2.20.1#n276 So, you should run chown -R on the repository for the user that you want it to drop privileges to.
pebcak. I have a hunch this would be better if it were documented in a man page or something but it doesn't appear to be an actual bug in the code.