How to handle caching on a Drupal 8 custom Views access plugin that checks a User's Profile's field value
A Views access plugin implements CacheableDependencyInterface. So you probably need to set a tag and a context for the current user in these methods:

  /**
   * {@inheritdoc}
   */
  public function getCacheMaxAge() {
    return Cache::PERMANENT;
  }

  /**
   * {@inheritdoc}
   */
  public function getCacheContexts() {
    return ['user'];
  }

  /**
   * {@inheritdoc}
   */
  public function getCacheTags() {
    return ['user:' . \Drupal::currentUser()-&gt;id()];
  }