Ref T11816. User-visible bug here was that availability dots (away/busy) for all-day events might not appear correctly if the viewer timezone and event timezone differ.
Underlying issue was that when adding a duration (one day) to an all-day event datetime, we incorrectly used the viewer timezone as part of the calculation.
Instead, base the calculation on a clone of the event with no viewer timezone.