When the values are "placed on the stack" IS "before the subroutine gets whatever it is given.". It gets them when it takes them off the stack.
It gets them on the stack as far as I'm concerned. That a function only gets it arguments after it copes them is a silly concept, considering functions can (and often do) work on the arguments directly on the stack.
So, if (references to) the values resulting from the pre-increments were placed on the stack, instead of references to the preincremented variable, then the anomaly would not arise
There is no value resulting from the pre-increment to "reference". But if such a value were to be created (i.e. if $n were to be copied), then yes, that's correct. I mentioned this in my first post, so I think all's clear now?