From what I can see this could indeed work around the inconsistency described in #5340. It might still show some (temporary) duplicates in the calendar view until the user calendar is fully refreshed. Deciding when and what to reload should better be done on the client.
This is really an ugly hack. I wasn't aware that refetchEvents has issues. Should maybe be fixed independent to this.