The problem is ngc - angular AOT compiler. It works only with typescript source (not javascript). Angular 2+ was designed with AOT compilation in mind. In dev mode, angular compiles templates and component/module metadata to javascript just at run time, in the browser. The generated code contains logic to render DOM elements, detect changes and dependency injection. In production, of course, it is recommended to compile this stuff at build phase - ahead of time. So, ngc is required to make production build.
So, using Angular 2+ (4.0.2 for now) is impossible without Kotlin implementation of Angular AOT compiler. For example there is angular branch for Dart with it’s own AOT implementation.
Unfortunately Kotlin is not yet suitable for dev mode too, due lack of persistent decorators support. If I understand correctly Kotlin doesn’t support javascript decorators at all…