For the VMs, use certs from Letsencrypt. The renew process is still not fully automated with Nginx and would try Caddy2 next time around.
I don't work with any block storage so nothing for S3 etc.
For this case, I would likely still manage my own Letsencrypt certs (e.g. service.saascompany.com) and have the customer add CNAME product.customer.com -> service.saascompany.com for the vanity domain. At that point the customer is managing their own cert and I would recommend CloudFlare, AWS or other that issues/maintains certs for them.
I emailed the SSL for Saas PM and he told me they are preparing a new service so that clients in other plans can also use this. Although no ETA and no pricing info yet.
I made these benchmarks recently and Stackpath didn't do too well but it's still an option you could consider.
https://www.pierbover.com/posts/static-hosting-benchmark-202...