Tony,
I've looked into this a bit more, and the curl --ssl option which I'm using at present does indeed specify explicit mode with fallback to port 21. There is an alternative which I could use: instead of --ssl I can specify the FTPS protocol in the URL by adding ftps:// instead of ftp:// in front of the domain name. This sets up implicit mode, but this mode does seem to be deprecated. So I suspect that the present situation is the preferred way to do it, but I would welcome your thoughts.
PS: One option which might be successful in your case would be to leave the port number blank. This causes curl to ask the server what port to use (passive mode). I have no idea if this will work, but it's easy to test.