часть методов появляется из-за строгой типизации: для разных типов приходится писать разные методы
Нет. В Java каждый объект имеет конкретный тип, поэтому у него не может быть методов для разных типов :)
String - тип очень распространённый, с ним много работы, поэтому в Java сочли необходимым прикрутить к нему ряд методов, максимально их оптимизировав. И я бы не сказал что их много. М.б. так кажется глядя на список, выдаваемый IDE, но там много перегруженных методов: с одинаковым именем, но с разными аргументами. Плюс есть статические методы у класса String. Плюс есть специальные классы StringBuilder/StringBuffer, там есть свои методы, видимо, народ просил :)
То же относится к массивам - всё ради скорости!
В Котлин же всё свалили в кучу, в т.ч. то что в Java делается циклами или через Stream API, поэтому кажется что методов до фига много. На самом деле, это просто "синтаксический сахар", когда в одно действие сводится несколько.
Просто считай что Java "более низкоуровневая" чем Питон. Пользуйся теми методами что тебе нужны здесь и сейчас. Остальные пригодятся со временем.