Думаю, проблема в том, как вы привязываетесь к окну выбора. При привязке убедитесь, что вы используете id как значение, чтобы this.userForm.get('name')?.value
возвращал ожидаемое значение.
Например,
, если вы хотите, чтобы id был как значение
<mat-select formControlName="name">
<mat-option *ngFor="let user of users$ | async" value="{{user.id}}">{{user.name}}</mat-option>
</mat-select>
Или, если вы хотите, чтобы имя и идентификатор имели значение (не рекомендуется)
<mat-select formControlName="name">
<mat-option *ngFor="let user of users$ | async" value="{{user.id}}-{{user.name}}">{{user.name}}</mat-option>
</mat-select>
И теперь, когда вы это делаете
this.UserService.userName = this.userForm.get('name')?.value;
В зависимости от выбранного вами варианта вы получите желаемое значение.
Надеюсь, поможет.