## Bug description

There seems to be an issue with `get_available_timezones_with_offsets`, not sure at what point it broke.

```
Traceback (most recent call last):
    response = view_func(request, *args, **kwargs)
  File "/posthog/posthog/views.py", line 184, in preflight_check
    "available_timezones": get_available_timezones_with_offsets(),
    raise NonExistentTimeError(dt)
```

## Expected behavior
Preflight should work and the timezone list be returned correctly.


## How to reproduce

1. Just check `/_preflight` request

## Environment

- [X] PostHog Cloud
- [ ] self-hosted PostHog, version/commit: _please provide_

## Additional context

Tagging @Twixes as you have more context on this.

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

posthog/utils.py
try:
        ping = get_client().get("@posthog-plugin-server/ping")
        return bool(ping and parser.isoparse(ping) > timezone.now() - relativedelta(seconds=30))
    except BaseException:
        return False
def get_plugin_server_version() -> Optional[str]:
    cache_key_value = get_client().get("@posthog-plugin-server/version")
    if cache_key_value:
        return cache_key_value.decode("utf-8")
    return None
def get_redis_info() -> Mapping[str, Any]:
    return get_client().info()
def get_redis_queue_depth() -> int:
    return get_client().llen("celery")
def queryset_to_named_query(qs: QuerySet, prepend: str = "") -> Tuple[str, dict]:
    raw, params = qs.query.sql_with_params()
    arg_count = 0
    counter = count(arg_count)
    new_string = re.sub(r"%s", lambda _: f"%({prepend}_arg_{str(next(counter))})s", raw)
    named_params = {}
    for idx, param in enumerate(params):
        named_params.update({f"{prepend}_arg_{idx}": param})
    return new_string, named_params
def get_instance_realm() -> str:
    """
    Returns the realm for the current instance. `cloud` or `hosted`.
    """
    return "cloud" if getattr(settings, "MULTI_TENANCY", False) else "hosted"
def get_available_social_auth_providers() -> Dict[str, bool]: