I am thinking about starting a timer not when the last creep was killed (which is rather pointless and could be skipped every time without drawbacks, except for summoned creeps still on the field)
I am more thinking of a global timer until the next wave gets called automatically. Every called wave adds 30seconds to the timer. Calling early would then increase the timer.
Maybe you could also have the option to call as soon as the last creep of the Wave was killed or include summoned units also in that check.
Impatience set would use this timer as a factor instead of the current system.
Also it could be converted to bonus exp after the final wave.
This way the game would prevent stalling and would encourage fast wave clearing. Something that is discouraged by the keys of wisdoms.
All parts of your idea sound really good.
The auto-rush could be activated by a long press on the next wave button. That wasn't my original idea, but I don't remember who suggested it.