The server returns data using GMT ("Zulu"-time). Setting the formatter's timezone to local adjusts the time to the local time which results in an incorrect date.
This was also failing the unit test. This fixes the basic bug. A slightly larger feature/fix could allow adjusting the timezone by allowing a timeZone attribute in the data model.