As a former contractor and current hirer of contractors, I wish I understood this more when I was on the other side.
This story is an outlier (10x!) and probably should have involved more communication, but the ultimate lesson checks out.
I used to be so embarrassed to send my invoice or charge more as scope increased. If something went unpaid, I'd rather eat the cost than reach out with a reminder. Turns out it's more likely someone didn't think about it or forgot than any sort of malice.
As a contractor, you think of money in terms of actual dollars – rent, food, etc. When you're paying the invoice, you think of it as a resource used to get either get results or get your own time back.
It's not that companies don't care about money (they do, a lot), but the math is much different on their end. Money can feel like an equalizer (it's how we serialize time, resources, etc into a common way to transact), but if you're a contractor, you can make way more if you understand the perspective of the person paying you.
For example, proactive communication and hitting deadlines is much more important than saving costs.
I've had few contracts where I've made very nice money like $20K for what in average was 3 days. They were all urgent jobs from some very big companies whose managers knew about me (In their particular environment I was famous for doing "impossible" tasks in very short time). When they asked me to do the job I knew that they're big and can pay handsomely so instead of giving them my hourly rate I would just simply tell that I would take up to let's say 5 days and would charge them this total sum disregarding of how long it would take in reality. They were totally fine with it.