Custom formatter for paragraphs field
Thanks to the comment above I was able to find a solution. This function allows to access three fields within a paragraph (term reference field, text field, boolean field).

public function viewElements(FieldItemListInterface $items, $langcode) {
$element = [];

  // Render each element as markup in case of multi-values.
  foreach ($items as $delta =&gt; $item) {

    // Desired fields: field_network_name (term reference), field_network_specific_site_code (text), field_network_verified (boolean);
    // this return the termID 
    $network_name_tid = render($item-&gt;entity-&gt;field_network_name-&gt;target_id);
    // this termID is used to load the term object
    $full_taxonomy_term_object = taxonomy_term_load($network_name_tid);
    // then you can get the name of the term, or any other information about the term
    $network_label = $full_taxonomy_term_object-&gt;getName();

    // getting the values for the text and boolean fields is more straightforward
    $network_site_code = render($item-&gt;entity &gt;field_network_specific_site_code-&gt;value);
    $network_site_verified = render($item-&gt;entity-&gt;field_network_verified-&gt;value);

    // in the end you put them together, have conditions and format them as you need
    $element[$delta] = [
      '#markup' =&gt; $network_label . $network_site_verified . $network_site_code
    ];
  } 

  return $element;
}


However, the problems of hard-coding something like this persist. Even though this can be tackled by having the right failsaves in place.

Edit: You don't need the "render" either. Addtionally, the "render" causes a notice in the system logs. I also stumbled upon this useful cheat sheet: https://www.metaltoad.com/blog/drupal-8-entity-api-cheat-sheet