Ocurre porque las fechas se representan en "hora local" en lugar de "utc" en las que se almacenan, a menos que lo solicite:
moment(obj.date).utc().format('MM-DD-YYYY');
Entonces, la diferencia está representada por su zona horaria configurada ajustando la fecha.
Ver UTC en los documentos.