Sim, o comando :! considera o restante da linha de comando como argumentos. Para concatenar outros comandos do Vim, você pode envolver o comando com :execute :
nnoremap <leader>ss :w\|:silent execute '!execute_external_script > output_of_script.txt'\|:redraw!<cr>
Como alternativa, você pode apenas emitir várias linhas de comando, separadas por <CR> ; afinal, um mapeamento é apenas uma macro fixa:
nnoremap <leader>ss :w\|:silent !execute_external_script > output_of_script.txt<cr>:redraw!<cr>
Outra nota: em vez de escapar do separador de comando \| , a maneira usual é usar o código de tecla especial <Bar> ; veja a lista completa em :help keycodes ; Isso também explica que <CR> significa retorno de carro .