The main issue I see for this is debugging. With transpiled languages (unless you have great tooling) the debug stack is normally in the target language rather than the development language, so there's a lot of cognitive overhead in figuring out how the machine-generated output maps to the code you actually wrote.
Also, since this is essentially metaprogramming, any domain where performance is a concern is going to be problematic to handle.
As far as cross-platform support, the LLVM approach seems like the right one to me.