Can you afford to spend the time to handle fault tolerance and high availability at the infrastructure level, or will that just fall to the wayside once your migration effort passes its original deadline and the business wants to shift to other items? How will you handle auditing without Cloudtrail, or its counterparts? Will you be able to automate OS provisioning, or will you be stuck with adding more staff and increasing lead times?
Let's say you can give a positive answer to all of these. Now, does it benefit the business more to have your team handle all that's required to maintain your own physical infrastructure, or would that time/effort be better spent on things that differentiate the business from its competitors?
We should also remember that Basecamp has built their entire business around this application. They've had time to perfect it and customize it to their exact needs. This is very different from replatforming commercial or open source software that isn't developed in-house. I think there's good reason that most of the time an article of this nature comes out, it's often a SaaS-type offering that's the target of repatriation.
But yes there are nice to see multiple perspectives on whether or not to use the cloud. Does there exist a good managed service to provision on-prem infrastructure in an IaC-matter?
IMHO cloud starts to really pay off for cloud native workloads on serverless offerings with FinOps as part of the culture. If you don't have cloud native workloads and don't want to develop such systems, then better keep your sysadmins and stay away from the clouds. There's absolutely no reason to ride the hype train, use whatever works best for the particular use case.
Also in almost all cases microservices aren't needed.