As to the phrase 'on the heap' when referring to the free store, there was never a heap in the technical computer-science sense of the word."Heap" means more than one thing. They are both technical computer-science definitions. Actually, the Wikipedia disambiguation page on "heap" has both meanings under "Computer Science".
I think the confusion in this thread has nothing to do with the use of the word "stack": This thread is about the futility of studying what compilers do when undefined behavior is invoked.