Sua pergunta é bastante comentada, mas na minha opinião a lógica do traço faz mais sentido. Se você quiser comparar se um arquivo é mais novo que outro, os dois arquivos existentes devem ser um requisito. Este claramente não é o caso, como indicado no manual bash embora.
6.4 Expressões condicionais da Bash
file1 -nt file2
True if file1 is newer (according to modification date) than file2, or if file1 exists and file2 does not.
file1 -nt file2
True if file1 and file2 exist and file1 is newer than file2.
why should that be needed?
Por que os dois arquivos precisam existir? Uma pergunta melhor é por que não? Por que você quer comparar se o arquivo 1 é mais novo que um arquivo não existente? É apenas uma maneira complicada de testar se o arquivo1 existe. Se você está realmente tentando comparar se um arquivo é mais novo do que outro, provavelmente é um problema que deve causar um erro se um desses arquivos estiver faltando.
Isso faria sentido com outros operadores de comparação?
Comparar um arquivo com um arquivo não existente é como comparar um inteiro com um valor nulo. Isso faria sentido se [[ 1 -gt "" ]]
fosse avaliado como verdadeiro? Bem bash acha que faz sentido também ...
$ bash -c '[[ 1 -gt "" ]] && echo yes'
yes
$ dash -c '[ 1 -gt "" ] && echo yes'
dash: 1: [: Illegal number:
$ sh -c '[ 1 -gt "" ] && echo yes'
sh: line 0: [: : integer expression expected