Het gebeurt omdat datums in "lokale tijd" staan in plaats van "utc" waarin ze zijn opgeslagen, tenzij je het vraagt om:
moment(obj.date).utc().format('MM-DD-YYYY');
Het verschil wordt dus weergegeven door uw geconfigureerde tijdzone die de datum aanpast.
Zie UTC in de documenten.