Sim, ler e escrever do mesmo arquivo em paralelo pode resultar em uma condição de corrida. Um redirecionamento de entrada e de saída para o mesmo arquivo no mesmo comando truncaria o arquivo antes de começar a lê-lo.
Mas não, isso não é o que está acontecendo aqui. É um falso positivo no Shellcheck. Aqui o redirecionamento está dentro de uma expressão aritmética. Todas as substituições (aritmética, variável, comando, bem como divisão e globbing) são executadas antes que os redirecionamentos sejam executados. Então, no momento em que > "$1"
abrir o arquivo, o bit de leitura estará concluído.