Tabs: invalidating cache tags does not lead to a rebuild of the tabs
Two suggestions to improve caching:

Even if you don't want to make a decision to allow or deny access you can return a neutral result to add cache metadata.

The custom cache tag can be replaced by the list tag ENTITY_TYPE_list, which is invalidated automatically when entities are added or deleted.


The resulting code:
  public function access(AccountInterface $account) {
    if ($entity_does_not_exist) {
      return AccessResult::forbidden()-&gt;addCacheTags(['my_entity_list']);
    }
    return AccessResult::neutral()-&gt;addCacheTags(['my_entity_list']);
  }

postDelete() and postSave() are no longer necessary.