2000-01-01 22:00:00 в одной временной зоне - это 1 января, а в другой 31 декабря
да
в базе эти события хранятся в UTC
поэтому приводим дату к UTC, получаем события, переводим их дату к пользовательской
елси нужно посчитать количество событий - оно посчитается правильно, т.к. мы же выборку делаем по диапазону UTC который соответствует дате запрошенной пользователем