The Graph API seems to normalize all-day events AFTER they have been created. In fact when you create an all-day event using any timezone other than UTC, the FIRST response body contains that exact timzone.
But when you GET that event in a seperate request, all the timezone informations within originalStartTimeZone, originalEndTimeZone, start.timezone and end.timezone will become UTC.
So we might think that the timezone does not matter? It does matter.
The timezone information is instead "hidden" within MAPI values (singleValueExtendedProperties).
Please take a look at my detailed answer here: https://stackoverflow.com/a/79829561/20170669