JavaScript Date и Firestore Timestamp объекты не имеют понятия часового пояса. То, что вы видите в консоли Firebase (или когда вы записываете значение с помощью console.log ()), является просто вашим локальным часовым поясом. Объект Date на самом деле представляет собой просто одно число, а метка времени - это просто два числа, которые представляют собой смещение от эпохи Unix. Момент времени, представленный этим смещением, одинаков для всех людей во всем мире.
Поскольку в этих объектах нет кодированных часовых поясов, то, что вы делаете, преобразовывая Date в строку, затем снова возвращаетесь к Date, не делают то, что вы думаете. Если вы хотите закодировать объект Date с использованием часового пояса, это нормально. Это поможет объекту Date выяснить точный момент времени. Но эта информация о часовом поясе потеряна.
К вашему сведению, вам не нужно преобразовывать дату в метку времени, чтобы использовать ее в запросе. Вы можете просто передать объект Date напрямую, и Firestore SDK автоматически преобразует его.