Когда нужен произвольный доступ по индексу символа (руны) или изменение "символов". []rune(s) разбирает UTF-8 и создаёт срез кодовых точек; аллокация и копирование. Для итерации достаточно for _, r := range s без среза рун.
[]rune(s)
for _, r := range s