I tend to feel the same as you - preferring portable solutions that I can host anywhere. However, the reality that we're all building CI/CD pipelines as much as we are actual software nowadays, and moving those from one cloud provider to another is no small feat. Even if you're using some infrastructure-as-code tool to manage all of your resources (e.g. terraform), you can't really `SET TARGET=GCP` and re-run the script (so to speak).
I guess the lesson is: spend as much time picking your infrastructure provider as you do your core technical stack. They're not easy to replace! :-)