1. В текущей реализации именно так - listOf() создает ArrayList. Остальные методы создания экземпляров коллекций - аналогично.
ссылка на документацию
https://kotlinlang.ru/docs/reference/collections.html :
В данный момент, метод listOf реализован с помощью ArrayList, но не исключено, что в будущем могут быть использованы другие типы коллекций, более эффективные по памяти за счёт своей неизменности.
2. Строка 1 -> setOf(this[0]) означает, что для создания будет вызвана функция
public fun setOf(element: T): Set = java.util.Collections.singleton(element)
из пакета kotlin.collections.