try {
const createdUser = new this.userModel(dto);
/* return createdUser.save(); */ // <<<<<<< вот здесь проблемное место, у тебя ошибка происходит во время
// того как ты уже уже вышел из этого кода и catch не может отработать
// так как save() возвращает промис, а ты ее не дожидаешься, а сразу ретёрнишь
// то этот промис авэитится выше nest'ом и там он выкидывает 500 код
// замени это строчку, и все отловится в нижнем catch
// вот так
const doc = await createdUser.save();
return doc;
} catch {
throw new HttpException(
'User with this login already exist',
HttpStatus.CONFLICT,
);
}