A long term contract pretty much guarantees that the company will lose the institutional knowledge to run things on premises.
Think about it, if the company has sysadmins that have been with the company for some years, have racked and are running most of their infrastructure, and all of a sudden they sign a long term contract with a cloud provider, why would they stay?
It’s possible that the company do not have all that infrastructure at all.
I also don’t see the importance of ‘knowledge to run things on premise’ for most people.
Technologies change very fast and if I can pay a reliable provider with a fixed price for the years that I intend to use it, why do I have to know how to use it?
If I can hire a gardener to take care of things for a reasonable price, I don’t care if I have any knowledge.
This is a danger, although the cloud is still just VMs and networks that still need configuring and patching. Agreed people who would run physical hardware would be gone.