Doesn't the stack pointer, among other CPU registers like PC,..reside in CPU?
But if you are asking to which address the stack pointer is pointing at, then is a different story. Don't know about Z80, but usually it points to the top off the available memory e.g. -1 (FFFF) and it decrements, it makes sense since you are loading static variables from bottom to the top , then the CPU can't create a stack and then clear it in the middle of allocated variables or program (von Neuman).
So the only way to make a stack on top of the stack, on top of the stack.... is to store variables from top down, until the stack grows so it "touches" the allocated data on bottom - this is so called stack overflow.
The stacks are built up at every function call and then nested function calls, it is purged in the reverse order.
Swapped bottom and top.