The usual answer you'll get is that it's not "infrastructure as code", is not highly available, etc... and while that's theoretically true, in practice modern hardware is reliable enough that I'll take the gamble (and the complexity of clouds and their control plane means that you may have more outages than what would be caused by hardware failures).
You can always set it up as such though. We're using k8s/terraform on hetzner cloud perfectly fine on like 30% of the AWS costs we had before that. Maintenance is minimal as well.