I have built a Rocket.Chat server and tested sending push notifications to an iOS client app that I built myself, without going through a gateway.
As a result, it seems that there are some cases where push notifications are not delivered for some reason. I have also confirmed that push notifications are sometimes delivered, but there are servers that do not deliver even after setting the certificate and authentication key in the same way.
One thing that caught my attention after checking the source is that the notification process to APNs seems to use gateway.push.apple.com.
Since the Apple legacy binary protocol is no longer supported, shouldn’t api.push.apple.com be used?