It seems that SKIP_CHECKS is doing more than just skipping the pre-commit hooks.
This in turn means that the Gerrit commit-msg hook is not running and we're not getting Change-Ids in our commits, which means that Gerrit will reject pushes.
We should probably just skip pre-commit hooks with SKIP_CHECKS; the commit-msg ones are advisory anyway, and there's always --no-verify if you literally want to skip everything.