Здесь вы используете метод Джексона objectMapper.convert для преобразования вашего объекта в карту. Поэтому, когда вы используете Карту, она создает 3 элемента на карте со значением как объект
В этом случае, когда вы пытаетесь получить навыки с карты, она вернется как Объект, который вы можете ввести в виде списка.
Но в случае с Map здесь значения сохраняются как String, то есть, когда вы пытаетесь получить навыки с карты, он возвращается как объект String. Теперь, когда вы попытаетесь привести его к списку .. он выдаст исключение