I'm having a very similar problem.
Push notifications work in development, but not on TestFlight. In my case device tokens are being allocated when the app is run. I can send a push notification via Postman and get a valid response. However, the app does not appear in the phone's settings/notification tab so I can't turn notifications on.
I've set my APS Entitlement to "production" and enabled push notifications in the App key. Like Chris I am using the Key method rather than certificates.
I see that there is a place to upload your certificates within the App key entry for push notifications, but I'm assuming I don't need anything there as I am using a key?
Paul