Esto es por diseño, y es un comportamiento estándar. Citando el estándar POSIX :
A menos que chown sea invocado por un proceso con los privilegios apropiados, los bits set-user-ID y set-group-ID de un archivo regular se borrarán una vez que se complete con éxito; los bits set-user-ID y set-group-ID de otros tipos de archivos pueden borrarse.
( s
es setuid (o setgid en la columna del grupo), no pegajoso, por cierto).
Este comportamiento sigue al de la llamada del sistema subyacente (excepto que en algunos sistemas, los bits setxid solo se borran para archivos ejecutables).
La razón para eliminar el bit setuid es que cambiar el propietario también cambia qué usuario será la ID de usuario efectiva del proceso. En particular, en sistemas donde un usuario puede regalar un archivo, cp /bin/sh foo; chmod u+s foo; chown joe foo
crearía un ejecutable setuid que pertenece a Joe, un agujero de seguridad gigante.