On a fresh instance with role::puppetmaster::standalone applied (no class parameters), /var/lib/git/labs/private is initially owned by gitpuppet:root and /var/lib/git/operations/puppet by gitpuppet:gitpuppet. Subsequently, git-sync-upstream runs every 10 minutes as root and will overwrite some/create new files with each update. This is confusing and could cause subtle bugs.
IMHO changing the initial clone to be owned by root is preferable because if an admin as root messes around with the Git repositories and git-sync-upstream would run as gitpuppet, it could stop working due to permissions.