## Bug description

Sentry error: https://sentry.io/organizations/posthog/issues/2588698757/events/62db81be9cbe44638988eda3dc72ad8c/?project=1899813

## Expected behavior

Don't fail

## How to reproduce

1. Create an action with a person filter (e.g. `User Signed Up (self-hosted)` on cloud)
2. Try to graph that action
3. See no results, error in backend

## Environment

- [x] PostHog Cloud
- [ ] self-hosted PostHog (ClickHouse-based), version/commit: _please provide_
- [ ] self-hosted PostHog (Postgres-based, legacy), version/commit: _please provide_

## Additional context

`ClickhouseEventQuery._determine_should_join_persons` does not resolve action type entity properties. Rather than do it there we can likely piggy-back off of `ColumnOptimizer` here.

#### *Thank you* for your bug report – we love squashing them!

ee/clickhouse/queries/column_optimizer.py
self.filter = filter
        self.team_id = team_id
    @cached_property
    def materialized_event_columns_to_query(self) -> List[ColumnName]:
        "Returns a list of event table columns containing materialized properties that this query needs"
        materialized_columns = get_materialized_columns("events")
        return [
            materialized_columns[property_name]
            for property_name, type in self._used_properties_with_type("event")
            if property_name in materialized_columns
        ]
    @cached_property
    def materialized_person_columns_to_query(self) -> List[ColumnName]:
        "Returns a list of person table columns containing materialized properties that this query needs"
        materialized_columns = get_materialized_columns("person")
        return [
            materialized_columns[property_name]
            for property_name, type in self._used_properties_with_type("person")
            if property_name in materialized_columns
        ]
    @cached_property
    def should_query_event_properties_column(self) -> bool: