How can I tell if I'm on a taxonomy page in preprocess_page?
Unfortunately I don't think there is anything that the hook gives you directly that you can use in this instance. However you can always check the route name to determine if you are on a taxonomy term page.  

// Will be "true" if you are currently on a taxonomy term page.
if (\Drupal::routeMatch()-&gt;getRouteName() == 'entity.taxonomy_term.canonical') {

  // Since this is a taxonomy term page, you may wish to get the term ID.
  $term_id = \Drupal::routeMatch()-&gt;getRawParameter('taxonomy_term');
}