Deploying straight to production is how small bugs become public ones. A staging environment, even a cheap one, is where the migration gets tested, the new form gets clicked through, and the deploy gets rehearsed.
It doesn't need to mirror production exactly. A $5 VPS with a recent copy of the data catches the failures that matter: the migration that breaks, the env var that's missing, the flow that only fails on real data.
The cost is trivial next to the cost of a broken deploy on a records system. Staging isn't overhead, it's the rehearsal that makes the real deploy boring.