UNIX_TIMESTAMP, взятый из MySQL и конвертированный в Date в JS выдает странный результат
Скорее всего да, часовые пояса, разница всего в один час.
MySQL работает в часовом поясе сервера, а JS в часовом поясе браузера, то есть клиентского компьютера.
Видимо, сервер работает в GMT+0400
Да, разница в часовых поясах равная одному часу.
FROM_UNIXTIME() functions return values in the connection's current time zone