Det händer eftersom datum representerar "lokal tid" snarare än "utc" som de lagras i om du inte ber det att:
moment(obj.date).utc().format('MM-DD-YYYY');
Så skillnaden representeras av din konfigurerade tidszon som justerar datumet.
Se UTC i dokumenten.