Sim: como você diz, su é executado com privilégios de superusuário, então setuid define todos os três IDs de usuário.
Como explicado no raciocínio em a especificação POSIX para setuid , esse comportamento é necessário: caso contrário, o processo iniciado por su seria capaz de setuid voltar para o usuário original, o que é não desejável.