I’m guessing a little here, but my best guess would be that this is a caching/naming issue.
When you do resources.ExecuteAsTemplate "js/script.js"`` we create a resource with that relative URL:
js/script.js`.
Which would effectively be shared between the languages.
Try:
{{ $scriptJS := resources.Get "js/script.js" | resources.ExecuteAsTemplate (printf "%s/js/script.js" $.Site.Lang ) . | resources.Minify | fingerprint }}