No PHP costumamos fazer de uma forma um pouco diferente, mas com a mesma premissa, apenas mais automatizada:
Nós calculamos o hash do arquivo JS que será chamado, e o resultado colocamos como parâmtro na frente do "?". O "version" não é necessário, é opcional.
Exemplo:
main.dart.js?{{ $mainJs_hash }}
Na hora de exibir, o resultado será um número único para aquela versão do arquivo, se qualquer coisa nele for alterado em seguida, a hash se altera por completo e automaticamente """limpa o cache""" do usuário.
Se no flutter tiver uma opção ou pacote parecido, seria bom considerar. Otimiza bastante tempo.