Това се случва, защото датите представляват в "местно време", а не в "utc", в което се съхраняват, освен ако не поискате от него:
moment(obj.date).utc().format('MM-DD-YYYY');
Така че разликата е представена от вашата конфигурирана часова зона, коригираща датата.
Вижте UTC в документите.