Interestingly, the link you posted relates to Unified Push, which is a protocol that relies on a "distributor" app which acts as a proxy, receiving reliable notifications on behalf of other applications. And it happens that Conversations can be configured as a UP distributor, because of how good it is at that/how well the XMPP protocol lends itself to it.
Long way to say you should give XMPP a shot, it really works well!
The trade off is that you gain some extra privacy with simpler architecture and accept that some notifications will be delayed as ios decides when to run the bg job for the app.
source: I develop e2e app with self-hostable server (145 lines of zero deps python for the whole server).
Even Android is not predicatable from my testing or I'm doing something wrong
But yeah, if you need a predictable way is either APN or safari push notifications.