I saw a heinous bug once because a newer person was using a column that had stopped getting updated years earlier (because it was replaced). This person saw the column and it was exactly what they needed. Then customers started getting billed on old accounts that they had either closed or changed with us. They were really mad.
I can see it being useful to rename these things, as long as there is some process in place to delete the renamed items after a period of time has passed.
Would be good if you could schedule a future migration that will happen only after a certain date has passed, which deletes the renamed tables/columns.
That bug you describe, maybe stale data is part of the problem, but ... why are you having a new person working on the billing system presumably without any code review? It sounds like you have a lot of process issues.
You see how that isn't an actual solution?
They're saying the solution to the specific problem of being unable to rollback due to irreversible migrations is to not write irreversible migrations, which is a completely valid solution and indeed the correct one. The whole point of migrations is to track db changes so that undoing them is easy.
Code and the DB always need to be compatible one version forward and back. That's required engineering discipline.