Как правильно хранить дату в БД Laravel?
Вы храните дату в нулевом часовом поясе (Z в конце)
Javascript приводит дату в ваше локальное время. То есть московское, плюс три часа от исходной даты. Всё правильно.

UPD
Уточню, что в timestamp все же хранится метка времени, простой int. Но извлекается из базы это значение уже с учетом часового пояса системы, на которой установлена БД, часового пояса заданного в настройках БД (SET time_zone) или для текущей сессии (set @@session.time_zone).
Ну и php может поколдовать с поясами. У вас по-видимому в настройках указан нулевая таймзона, вот и время извлекается в ней.
Я придерживаюсь правил:
1) Хранить в UTC
2) Передача данных Api и все что входит и выходит из компонента React(например)  - ISO (2013-02-04T22:44:30.652Z)

Moment - toISOString()
Carbon - toIso8601ZuluString()