Separation of concerns is of the utmost importance in my experience.
Domains, DNS, App/Web Hosting, Email (Domain and Transactional), File Storage, Version Control, Backups, Secrets Storage, Directory Services, Zero-Trust/VPN, etc. should be on different providers (or different accounts if an overlapping provider), whether the services are third-party or self-hosted or a mixture of both.