Isso ocorre por design e é um comportamento padrão. Citando o padrão POSIX :
A menos que o chown seja chamado por um processo com privilégios apropriados, os bits set-user-ID e set-group-ID de um arquivo regular serão limpos após a conclusão bem-sucedida; os bits set-user-ID e set-group-ID de outros tipos de arquivos podem ser limpos.
( s
é setuid (ou setgid na coluna do grupo), não é pegajoso, a propósito.)
Esse comportamento segue o da chamada de sistema subjacente (exceto que em alguns sistemas, os bits setxid são limpos apenas para arquivos executáveis).
O motivo para remover o bit setuid é que alterar o proprietário também altera qual usuário será o ID do usuário efetivo do processo. Em particular, em sistemas em que um usuário pode doar um arquivo, cp /bin/sh foo; chmod u+s foo; chown joe foo
criaria um executável setuid pertencente a joe, um enorme buraco de segurança.