После длительного тестирования я обнаружил очень странное поведение.
В двух словах, метод
func pushRegistry(_ registry: PKPushRegistry, didReceiveIncomingPushWith
payload: PKPushPayload, for type: PKPushType, completion: @escaping () -> Void)
вызывается, даже если приложение работает и на переднем плане,но не вызывается для более старых версий iOS (тот же код).