Вам нужно установить nextDayThreshold на очень высокое значение - по крайней мере, такое же, как самое последнее время окончания смены на следующий день.
Документация для опции гласит:
Когда время окончания события переходит в другой день, минимальное время его
должно быть для того, чтобы сделать так, как если бы он был в тот день. Влияет только на синхронизированные события, которые появляются на целые дни. Ячейки на весь день отображаются в представлении месяца, basicDay, basicWeek и на весь день в представлениях повестки дня.
Надеюсь, это поможет объяснить поведение, которое вы сейчас видите.
Наивысшим значением, которое вы можете установить, будет, конечно, конец дня: 23:59:59
, который должен охватывать все случаи жизни.