Why Janmashtami splits across states
Because two different tests are applied to the same ashtami: one at midnight, one at sunrise.
2022 is the clean case, because the ashtami fell in the worst possible place. It ran from 21:22 on 18 August to 23:00 on 19 August — covering the middle of one night and the sunrise of the next.
Two tests, two days
The nishitha test asks which night the ashtami covers at its middle. On the night of 18 August it did. So Kerala took 18 August, and that is also the Smarta day.
The udaya test asks which sunrise the ashtami is running at. On the morning of 19 August it was. So Tamil Nadu and Karnataka took 19 August, which is also the Vaishnava and ISKCON day.
Both tests are written down. Both were applied correctly. The ashtami simply happened to satisfy them on different days.
Why neither is wrong
Which test a household applies is a property of the household, not of the sky. An almanac that silently picks one has answered a question it was never asked, so any Janmashtami date worth acting on says which test produced it.
Which day is yours
The one your household's tradition tests for. A Janmashtami date from us carries both days and names the test behind each, so the answer you act on is the one that matches your practice rather than the one an almanac happened to pick.
Dharmasindhu, Janmāṣṭamī section, p. 57, leaf 77 · read from the page image (the definition of niśītha)