I got it working by setting up the URL prefix and access correctly in the SMS provider’s settings and making sure the user had a mobile number defined in their preferences.
I got mine working by adding a gateway for sms.to under the SMS Gateway config, using their API URL and header with the token. Then I set that gateway on the user record. You also need to make sure the phone number is in international format, like +44 for UK. Once that was set up, the test sending from the user form worked fine.