Без докапывания до тонкостей терминологии, делегирование - это вынос части класса в другой класс (а лучше интерфейс), а затем передача объекта этого класса и вызов его методов. Избавляет от сложных деревьев наследования. Именно это подразумевается под делегированием везде. Котлин может на уровне синтаксиса связать 2 класса так, что можно вызывать методы второго как будто они объявлены в первом.
Вот именно, что делегирование чегото куда то, правильно? Так чем делегат отличается от шабблона делегирования, если мы передаем исполнение метода в другое место?