Javascript Reduce, missing values

I’ve been struggling with this all day and have finally given up as I see no reason why its not working.

I have the following code:

let groupedEvents: any[] = events.reduce((processedEvents: any[], event: Event) => {
    const day: string = dayjs(event.startDateTime).format('YYYY-MM-DD');
    const matchingDateIndex: number = processedEvents.findIndex(group => group.day === day);
    console.log(matchingDateIndex)

    if (matchingDateIndex > -1) {
        processedEvents[matchingDateIndex].events.push(event);
    } else {
        processedEvents.push({ day, events: new Array(event) })
    }
    return processedEvents;
}, []);
console.log(groupedEvents)

This takes an events array with calendar entries, then should group them by day. However what happens is the first day always ends empty, with subsequent days being fine as below:

enter image description here

There should be a total of 5 events but the 3 from the 21st are not showing, anyone know why this is happening?