Tudo depende da definição de palavras; o que exatamente você quer dizer com as palavras "superior" e "inferior" neste contexto e também na implementação do sistema operacional ou da arquitetura do computador.
Lembro-me do seguinte há muito tempo, quando estava programando no Commodore 64. A memória entre o endereço $ 0800 (2048) e $ 9FFF (40959) foi reservada para programas BASIC. O código do seu programa BASIC foi armazenado começando no endereço mais baixo (US $ 0800, crescendo a partir daí). A pilha, para armazenar variáveis e endereços de retorno de sub-rotinas, começou no topo (US $ 9FFF) desse intervalo e cresceu para endereços mais baixos. Portanto, nesse contexto, era lógico ver a pilha crescendo para baixo e, quando você retorna de uma sub-rotina, o quadro da pilha da sub-rotina é descartado incrementando o ponteiro da pilha, para que você possa dizer que está "subindo a pilha" quando retornando de uma sub-rotina.
Não sei como ele funciona em versões modernas, por exemplo, de processadores Windows ou Intel x86. Talvez a pilha funcione ao contrário, ou seja, ela cresça de endereços mais baixos para mais altos. Se esse for o caso, você provavelmente usaria as palavras "superior", "inferior" e "para cima", "para baixo" exatamente o contrário.