How to programatically access the value of a taxonomy term reference?
As the taxonomy term is a reference the value (or label) is not stored in the user entity, just the target_id. So you need to use:

$termreference = $account-&gt;get('field_termreference')-&gt;target_id;

This should be your code:

use Drupal\Core\Session\AccountProxyInterface;
use Drupal\user\Entity\User;

$account = User::load($account-&gt;id());
// Returns the correct value.
$textfield = $account-&gt;get('field_textfield')-&gt;value;
// You need to use the target_id to access to the value.
$termreference = $account-&gt;get('field_termreference')-&gt;target_id;


Now you need to search the label:

$term = \Drupal::entityTypeManager()-&gt;getStorage('taxonomy_term')-&gt;load($termreference);
$name = $term-&gt;getName();


Your taxonomy label (name) will be in $name.