вообще проблема в том, что все функции, тип которых описываеся явно: (args)-> return type, превращаются в один из kotlin.jvm.functions.FunctionX<args, return type> классов, при этом все они, как функциональные интерфейсы, имеют метод возвращающий значение, поэтому java его требует принудительно. почему бы не сделать набор функциональных интерфейсов метод которых имеет void return type? т.е. для всех функций типа (args) -> Unit проверять во время компиляции что не подразумевается возвращаемое значение и использовать например kotlin.jvm.consumers.ConsumerX<args> ?