Using tsc to type check javascript - with JSDoc type annotations - works fine. You're really not missing much from "real" typescript, and you can save yourself a transpile.
I tried the experiment of .js files driven by typescript in JSDocs for around 10k lines and there is a night and day difference in what you can express, how and reuse it at the type level.
The limitations are too much for complex projects at scale. I strongly believe this is why Closure types didn't take off.
That and Google's lack of developer relations around the project