A bit late to the party, but wrapping then when in a do {} while (false) "loop" gives you a regular break without any label or lambda shenanigans:
do when (transaction.state) {
Transaction.Type.EXPIRED,
Transaction.Type.BLOCKED -> {
break
}
} while (false)