I am wondering if this is a bad practice. Is there any performance cost to decouple hosting service from the vendor for other infrastructures?
Remember, with Jamstack, your client browser is making calls to APIs for dynamic content, not a single call to a server that is rendering your pages. The paths between browser and static content and browser and APIs is what matters for performance, not between content host and API. There's no call there, at least at runtime. From this perspective, I don't think there's a run-time performance cost worth worrying about. There may be other benefits to going with a single vendor when it comes to management, $ cost, etc. I'd worry about those until I had a reason to worry about run-time performance.
+-----------+
| static |
+-------+ | content |
| +------------------>+ |
| | +-----------+
|browser|
| | +-----------+
| +------------------>+ |
+-------+ | APIs |
| |
+-----------+