I’m totally with you on this Bas. One thing that’s worth saying though is that Babel has value as a transpiler which will probably continue whilst TypeScript doesn’t focus on providing shims for esNext constructs in its transpilation.
For myself, my tool chain of choice at the moment has me writing esNext code in TypeScript (with strong typing). TypeScript handles type checking and emits just esNext code (stripped of all types) which is handed off to Babel to transpile it to es5. All this is beautifully sewn together by WebPack, ts-loader and babel-loader.
I imagine this approach will probably stay in place for some time unless the TypeScript team decide to change their view on providing shims.