## Bug description

It appears that merging people doesn't work since #10868, because the shape of a person returned by the persons endpoint turned from `{ ..., "uuid": "00000000-0000-0000-0000-000000000000", "id": 2 }` to `{ ..., "uuid": "00000000-0000-0000-0000-000000000000", "id": "00000000-0000-0000-0000-000000000000" }`. The `/merge` endpoint relies on the serial ID, and now that's not exposed (because this ID isn't even _known_ in ClickHouse).

## How to reproduce

1. Go to a random person.
2. Click "Split or merge IDs"
3. Select some other person(s) to merge into the current person
4. Notice that when you select persons, in the list they appear as some random numbers instead of distinct IDs – that's another symptom of the issue with UUIDs being returned instead of serial IDs.
  <img width="198" alt="Screen Shot 2022-07-28 at 22 24 17" src="https://user-images.githubusercontent.com/4550621/181630574-88b4c029-706a-4134-ac62-a1d0001efd3c.png">
5. Click "Merge persons"
6. See success toast, but realize that actually nothing has happened

## Environment

- [x] PostHog Cloud
- [x] self-hosted PostHog (ClickHouse-based), version/commit: 1.38.0

## Additional context

This was reported by a user [on Slack](https://posthogusers.slack.com/archives/C01GLBKHKQT/p1658810378839129).

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

posthog/api/test/test_person.py
_create_person(
            distinct_ids=["person_1"],
            team=self.team,
            properties={"random_prop": "asdf", "some other prop": "with some text"},
        )
        _create_person(distinct_ids=["person_2"], team=self.team, properties={"random_prop": "asdf"})
        _create_person(distinct_ids=["person_3"], team=self.team, properties={"random_prop": "qwerty"})
        _create_person(distinct_ids=["person_4"], team=self.team, properties={"something_else": "qwerty"})
        flush_persons_and_events()
        response = self.client.get("/api/person/values/?key=random_prop")
        self.assertEqual(response.status_code, status.HTTP_200_OK)
        response_data = response.json()
        self.assertEqual(response_data[0]["name"], "asdf")
        self.assertEqual(response_data[0]["count"], 2)
        self.assertEqual(response_data[1]["name"], "qwerty")
        self.assertEqual(response_data[1]["count"], 1)
        self.assertEqual(len(response_data), 2)
        response = self.client.get("/api/person/values/?key=random_prop&value=qw")
        self.assertEqual(response.status_code, status.HTTP_200_OK)
        self.assertEqual(response.json()[0]["name"], "qwerty")
        self.assertEqual(response.json()[0]["count"], 1)
    @test_with_materialized_columns(event_properties=["email"], person_properties=["email"])
    @snapshot_clickhouse_queries
    def test_filter_person_email(self):