What type of provisioning profile is required for TestFlight external testing?
Since Testflight has been integrated in the App Store / iTunes Connect, you'll need to upload it to iTunes Connect, which means you need an App Store provisioning profile, not an Ad-Hoc one. I can imagine that older tutorials, made when Testflight was a stand-alone platform, still describe the situation were an Ad-Hoc provisioning profile was necessary.

As for the push notifications:


are you sure you use the Production environment of APN (the Sandbox environment only works for debug builds)?
do you get any error messages (on the server) when sending the push notifications?
if you call the Feedback service of APN, do the devices appear there?