a resposta de schily me indicou Formação de linguagem de comandos do Shell POSIX 2.3.1 que diz:
However, reserved words in correct grammatical context shall not be candidates for alias substitution.
Confirmei que o comportamento padrão {ba,z}sh
não segue o acima.
Eu perguntei sobre zsh-workers
e fui direcionado para a opção POSIX_ALIASES
, sobre o qual a página de manual diz:
POSIX_ALIASES <K> <S> When this option is set, reserved words are not candidates for alias expansion: it is still possible to declare any of them as an alias, but the alias will never be expanded. Reserved words are described in the section RESERVED WORDS in zshmisc(1).