I've used Digital Ocean for nearly 10 years. It's been good.
That said: I don't know enough about your situation, but ... what are you optimizing for?
AWS/GCP/Azure have each got a platform that provides a heap of functionality. Using that will save you time-to-delivery and engineer-hours. All the clouds have startup programs that will mean it's basically free until you get some traction.
If you're looking for investment, using AWS/etc means you instantly avoid all the questions about CapEx and risk that follow from self-hosting.
Don't underestimate the upside of not dealing with a bunch of cobbled-together service providers (hosting, billing, SMS for 2FA, email, monitoring, etc, etc). Having a single provider and a single bill simplifies your admin a lot.
And if you need to scale in a hurry, it's a whole lot easier if you've adopted a cloud platform.
Is avoiding lock-in really a big problem? In your software, you can either use a third-party abstraction, or build a shim layer that sits above the services you use that would allow you to migrate (even to self-hosting) if you had to. For the most common services, there's not even really a need for this: the AWS API is widely supported anyway. The devops/sysadm side is harder though.
Some of this won't apply if you're bootstrapping: it's more work, but vastly cheaper to do a lot of stuff yourself, and renting a half-cabinet colo and stuffing it with off-lease servers will cost you engineer-hours, but saves a heap of cash. Augmenting that with a PC at home for backup, and cheap VMs from Digital Ocean, Vultr, Hetzner, Linode, etc for scale might work out well. But it's hard to beat the free plans from the clouds.