Para obter o zsh shell para executar a substituição de comando no valor de PS1 , defina a opção PROMPT_SUBST shell:
set -o PROMPT_SUBST
PS1='$(pwd) > '
Observe que não há necessidade de export a variável PS1 .
Para obter mais informações sobre isso, consulte a seção "EXPANSÃO DE SEQUÊNCIAS DE PROMPT" no manual zshmisc em seu sistema.
Quando você usa
PS1="$(pwd) > "
o valor dado à variável PS1 é expandido antes que a atribuição ocorra. É por isso que não muda quando você altera os diretórios.