What you haven't accounted for is the fully loaded staff costs of the people who manage all that hardware. Yes, cloud-based doesn't eliminate those staff costs, but it does reduce them dramatically.
It just shifts them to someone else who then charges you more because they want to make a profit.
Azure it vastly more expensive than running a data centre. We move all our customers onto it a few years back because they were hammering on the door demanding to know when they would get a cloud-based service. Now they're paying at least three times (in some cases 6 times) what we charged them back then and our headcount has actually gone up to cope with the problems caused by everything being on the cloud which - shock news! - doesn't always work.
The one thing they get from Azure is disaster recovery in a distant data centre from the one holding their day-to-day systems. Except it's shit and it only works about 50% of the times we've tested it. Now MS have said they can upgrade the system (i.e., make it work) for an additional charge on top of the one we've been paying for years.
It's an absolute joke. Upgrading the datacentre would have been better for us and better for the customers, but they were taken in by the cloud hype and now they are literally paying for it but none of the CTOs can face telling their bosses that they've fucked up. Because the datacentre hasn't been invested in it is now obsolete and moving back would be hellish now anyway, so they and we are trapped.