A timestamp identifies a moment. A formatted date is a display string. formatDateTime changes the representation, while addDays moves the date by a specified number of days. utcNow reads the run clock in UTC. These operations answer different questions, so choose the source timestamp before choosing its format.
A local date can differ from the UTC date near midnight. Convert the timestamp into the requested time zone before formatting its date. Formatting first throws away the time information needed for that conversion. The fixtures give you a fixed clock so the answer remains reproducible, including in hidden checks around a date boundary. In a workplace flow, document the time zone alongside the business rule. A label that happens to match during the afternoon can still be wrong during the evening.