How to reference existing taxonomy terms in a migration
I was able to solve the issue by moving the queries for the term ID to the process plugin.

/**
 *
 * @MigrateProcessPlugin(
 *   id = "existing_term"
 * )
 */
class MigrateProcessExistingTerm extends ProcessPluginBase {
  /**
   * {@inheritdoc}
   */
  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {

    db_set_active('my_migration');

    $sub_task_id = db_select('TableA', 'ta')
      -&gt;fields('ta', ['OriginalId'])
      -&gt;condition('Id', $value)
      -&gt;execute()
      -&gt;fetchField();

    $term_id = db_select('TableB', 'tb')
      -&gt;fields('tb', ['DrupalTermId'])
      -&gt;condition('OriginalId', $original_id)
      -&gt;execute()
      -&gt;fetchField();

      db_set_active('default');

    $term = Term::load($term_id);

    return [
      'target_id' =&gt; $term-&gt;id(),
    ];
  }

}


It seems like having the queries in the main class were confusing the migration into thinking the term data was in the migration source database.