Resolvi o problema da NullPointerException no complemento utilizando o Safe Call e o Elvis Operator
listOf(
Endereco(complemento = "Ap"),
Endereco(),
Endereco(complemento = "Casa")
)
.filter { endereco ->
endereco.complemento?.isNotEmpty() ?: false // Utilizei o Safe Call e o Elvis Operator retornando Boolean
}.let(::println)