For me it turns out that PHP is, as expected, fine – and the problem lies with the (external) transport that WordPress is trying to use. And it also turns out that there is a developer plugin which allows easy updating of the transports available to WordPress. The solution that worked for me was:
At this point, Jetpack will now allow registration and finally stop nagging!
It is worth noting, however, that having cURL disabled prevents Akismet from being able to contact its servers, so once Jetpack is registered the above sequence should be reversed to re-enable cURL and, to be safe, disable Core Control so as not to accidentally break anything else. Once registration has been successful, Jetpack seems to be happy to continue working even with cURL as the active transport.