Thanks for the thoughtful response!
I think that the source of the confusion is a result of two different definitions of the word "stack".
When you use the word "stack", I think what you mean is a call stack - a memory data structure used to track nested function calls. In that context, you are correct that the "top" of the stack represents the lowest-level code.
However, I'm thinking of a different usage, which means "a layered arrangement of technologies", such as "JAMStack". In that context, I believe that the "top" represents the highest-level and most user-proximate layers.