Override Views RSS Feed Display
As documented here, I went with overriding the views row style plugin. All I did in the override was add the render() method and add my own modifications to the $build array to make it work.

&lt;?php

namespace Drupal\video_export\Plugin\views\row;

use Drupal\views\Plugin\views\row\RssFields;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Url;

/**
 * Renders an RSS item based on fields.
 *
 * @ViewsRow(
 *   id = "mymodule_rss_fields",
 *   title = @Translation("Custom Fields"),
 *   help = @Translation("Display fields as RSS items."),
 *   theme = "views_view_row_rss",
 *   display_types = {"feed"}
 * )
 */
class MyModuleVRssFields extends RssFields {

  /**
   * Override of RssFields::render() with additional fields.
   *
   * @param object $row
   *
   * @return array
   */
  public function render($row) {
    $build = parent:: render();
    $item = $build['#row'];

    // Add MRCTV nid
    $item-&gt;elements[] = array(
      'key' =&gt; 'source-nid',
      'value' =&gt; $row-&gt;nid,
    );

    // Add channels and their target nids. We can get them from $row-&gt;_entity.
    $site = $this-&gt;view-&gt;args[0];
    // Get source nids from view.
    $channel_tids = array_column($row-&gt;_entity-&gt;field_channels-&gt;getValue(), 'target_id');
    // Now, get destination tids from config.
    $mapping_config = \Drupal::config('video_export.mappings');
    $all_mappings = $mapping_config-&gt;get('sites');

    foreach($channel_tids as $source_channel) {
      if(in_array($source_channel, array_keys($all_mappings[$site]['mappings']))) {
        $item-&gt;elements[] = array(
          'key' =&gt; $site . '-channel-map',
          'value' =&gt; $all_mappings[$site]['mappings'][$source_channel],
        );
      }
    }

    // Re-populate the $build array with the updated row.
    $build['#row'] = $item;

    return $build;
  }
}