You have a very extreme definition of waterfall. Waterfall doesn't mean that the spec is absolutely immutable. You will always find things to change in any effort of some complexity.
Yes it does, that's why it's called waterfall. Water doesn't flow back up the waterfall.
Do you take other words that literally too? Maybe they should have named waterfall "oioioihopjl" to avoid conflicts with other definitions?
Waterfall was a strawman, used in a paper as an ideally-bad project management strategy. The name was chosen on purpose to describe its fatal flaw.
Our industry being rather foolish, people read the paper and thought, 'hey, this sounds like a good idea!'
It's literally named waterfall in order to reference the idea that each step becomes immutable as it's being passed to the next step. This isn't some unfortunate consequence of an overstretched metaphor; it's literally the core concept.
It's not my fault that it appears you've been using the term wrong. Waterfall with feedback ceases to be waterfall.
I think the vast majority would take the term "waterfall" to mean "specifying software upfront before starting the build".
I don't think it really has anything to do with gravity.
Then go read the papers that these terms come from.
The most well defined piece of software I know of, sel4, had a full machine checkable formal proof up front, and they still ran into issues during implementation that required them to go back and modify the spec.