Приделал хук так:
Runtime.getRuntime().addShutdownHook(object: Thread() {
override fun run() {
System.out.println("addShutdownHook")
}
})
При нормальном выходе тоже не срабатывает хук
Вариант, в класс аппликейшн, инициализатор:
static { Runtime.getRuntime().addShutdownHook ( new Thread() { public void run() {
//code
} } ); }