It is reasonable to represent reoccurring events outside of UTC. If your user wants an alarm is at 7:30 AM MTWTF then you can store it just like that. If they travel to another time zone and they still get a 7:30 AM wake up call that's generally desired behavior. And yes there are a huge number of edge cases.
It's specific times you want UTC, if I setup a meeting then I want someone in another time zone to call in at the same time.
It's specific times you want UTC, if I setup a meeting then I want someone in another time zone to call in at the same time.