How to get user.field value in node--teaser.twig
This bit's the problem:

$node = \Drupal::routeMatch()-&gt;getParameter('node')


Even if that returned a value, it would probably be the wrong one; it's not common to render the node as a teaser on its own view page.

As it happens, you don't need to load it yourself for any of the view modes. The node is already in $variables:

function MYTHEME_preprocess_node(&amp;$variables) {
  $variables['author'] = $variables['node']-&gt;getOwner()-&gt;field_name-&gt;value;
}


You may need to add a further check of $variables['node']-&gt;getType() if the field is only available to certain content types.