How do I pass a theme variable from a template to another?
The solution I am working with is to use drupal_static(); simplified essentials in code below - take care with the &amp;ampersands. It is giving me control where I need it.  

So, using this approach, I can - taking their global context into account -  per field, set variables in the usual way e.g. in mytheme_preprocess_field() subsequently to be used in a related template like field--node--title--agenda.html.twig

function mytheme_preprocess_simplenews_newsletter_body(&amp;$variables) {
  // prepare to alter static var ...
  // get a reference binding to static var
  $var = &amp;myvariable_function();
  // alter static var
  $var = 'simplenews_newsletter';
}

function mytheme_preprocess_field(&amp;$variables, $hook) {
  // prepare to read static var
  // assign static var
  $var = myvariable_function();
  // $element is the render array for the field
  $element = $variables['element'];
  // filter those cases where it matters that we're theming a newsletter
  if ($element['#view_mode'] == 'email_html' and $var == 'simplenews_newsletter') {
    // Do stuff here like setting a variable for twig ...
    $variables['summons'] = 'some text';
  }
}
function &amp;myvariable_function() {
  $var = &amp;drupal_static(__FUNCTION__);
  if (!isset($var)) {
    // generate contents of static variable
    $var =  'initial_value';
  }
  return $var;
}


I am sure that there are other ways of communicating common context between different levels of a page's render hierarchy. Let me know how you'd do it.