Еще не нравится, что может происходить дублирование кода, когда dto и entity могут содержать идентичный набор полей
Смотри, смысл разделения в том, что внешний гейт, откуда летят dto склонен чаще меняться, чем внутренний.
Конвертируя dto в другие структуры ты его локализуешь его прорастание в коде и когда параметр в dto нужно будет делать опциональным/менять тип/удалять, не придется проходить весь код и не затеряется ошибка.
Однако если логика проста, как палка, а внешний гейт почти не меняется (редко, но бывает), можно и через dto оперировать.