Fix https://github.com/matrix-org/synapse/issues/13856
`_invalidate_caches_for_event` doesn't run in monolith mode which
means we never even tried to clear the `have_seen_event` and other
caches. And even in worker mode, it only runs on the workers, not
the master (AFAICT).
Additionally there is bug with the key being wrong so
`_invalidate_caches_for_event` never invalidates the
`have_seen_event` cache even when it does run.
Wrong:
```py
self.have_seen_event.invalidate((room_id, event_id))
```
Correct:
```py
self.have_seen_event.invalidate(((room_id, event_id),))
```