Então, vou dar a resposta para a pergunta. Você precisa ativar extglob para fazer o bash reconhecer padrões estendidos além da sintaxe de expansão do histórico.
shopt -s extglob
rm !(*keyword)
shopt -s extglob também permite a correspondência de padrões estendida em case e [[ ]] , mas ele já é o comportamento padrão em [[ ]] iniciando o Bash 4.1 e padrões estendidos já são reconhecidos com ou sem a opção ativada.
Para referência, consulte a Correspondência de padrões do manual do Bash.