Это проблема синхронизации, переместите все действия, требующие ответа, в обратный вызов подписки, чтобы получить доступ к нужному значению.
public searchForUser(): void
{
this.userService.getUserByLastName(this.searchString).subscribe((data: User) =>
{
this.searchedUser = data;
console.log('Firstname: ' + this.searchedUser.firstName);
this.dataService.changeUser(this.searchedUser);
});
}
Это происходит из-за того, что вы пытаетесь получить доступ к this.searchedUser
до того, как он был определен в подписке.