The reason iOS users “lose” their push notification subscriptions with the PWA is because XenForo is relying on a browser’s willingness to resubscribe to the push notification without human interaction (a click for example). iOS/Safari doesn’t allow this, so push notification subscriptions are lost if you need to reauthenticate (logging into admin or redoing your two-step auth after 30 days).
See:
So a little more digging today on the lost push notifications. It does appear that push subscriptions are lost for Safari (desktop version as well as PWA) due the above (more specifically, Safari requires a user gesture to re-enable push notifications even if Notification.permission = "granted" already). Chrome (probably other browsers too, but I'm only testing with Chrome and Safari right now) does not require a user gesture to re-enable push notifications.
So in the case where a two-step auth (maybe other places as well) unsubscribes from notifications, only to resubscribe...
Was able to work-around XenForo’s behavior (mostly) with this addon:
Add some missing things to XenForo's progressive web app
…but the “right” thing to do is for XenForo to not rely on a browser’s willingness to subscribe to push notifications without human interaction.