自己解決しました

chownによるgid操作は、補助IDグループリストを設定する必要があるようで、
setgroups()かinitgroups()を使って
変更前後のgidを両方登録すればchownに成功しました