If I were creating a new app I'd probably contain each backend service to a single cloud environment. Different services can be in different cloud environments, but no cross-cloud services. I'm uncertain the extra complexity would be worth it, at least for many of the use-cases I'm considering. Having fewer environments to setup and maintain is a big win in my book.
Running multiple Kubernetes clusters in different cloud vendors with configuration details abstracted away in a more self-contained service that can be deployed by itself as the bootstrap process makes things much easier. Consul is a good system for this, deploy it once (manually if necessary) then everything else refers to it to figure out the environment details automatically.