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,
      );
    }