Succede perché le date rappresentano "l'ora locale" anziché "utc" in cui sono memorizzate a meno che tu non lo chieda a:
moment(obj.date).utc().format('MM-DD-YYYY');
Quindi la differenza è rappresentata dal tuo fuso orario configurato che regola la data.
Vedi UTC nei documenti.