FWIW, if you created the connection between GitLab and GitHub for your project before 10.6, you'll have to remove the connection and then re-add it to get the push-based mirroring to happen. Otherwise, yes, it will still poll.
It seems like you should be able to do this, but there may need to be an update to work with already-mirrored repos since the feature was designed to have a flow that expects a new project to be created.
I guess I got lost on my initial pass through the UI.
I deleted my toy repo and did it over again; it seems to be working now. Latency seems to be in the 20-30 second range for incremental pushes, which is pretty good.
Is there a way to do this for existing repos? Or do we have to delete and re-create our production repo to do this?
You can add a webhook on GitHub and have it point to our Pull Mirroring API [1], followed by manually setting up the integration to send status updates back [2].