This might be a cynical view, but is the modern approach of software engineering just a giant sales campaign ran by cloud providers to increase their profits?
VC-bankrolled garbage that wants to take over the world from day 1 would fit, however most legitimate business problems require nowhere near this scale and at that point "cloud native" development may be a downside in the form of unnecessary complexity.
For legitimate business problems (where conquering the world from day 1 isn't a priority), don't underestimate how powerful one or two bare-metal machines can be, and you can get those for less than 100 bucks a month from Hetzner or OVH, with unlimited bandwidth to boot.
Reliability may be a concern, but modern hardware is pretty reliable and cloud-native development involves tons of moving parts that come with their own downsides. I've seen more outages caused by all that extra complexity and operator error than hardware failure. AWS us-east-1 happens to be down right now for example, but my old-school bare-metal machines and network hardware are all still running.
It is however "uncool" which means you'll have more trouble acquiring talent. You don't have the option to have resume-driven people queue up to work for you for low salaries because you work with the new shiny, you actually have to pay good money and make efforts to retain these people.
My current cloud-native side project is based in AWS but I don't see any fundamental problem migrating it to Azure or Cloudflare. I can think of hypothetical reasons why I would want to, but practically making it portable and running multiple instances of it is the last priority compared to all the other work it needs.
This way you keep your options open and can easily move from one cloud to another or back to self hosted if needed.