Running Big Sur but this has been happening for many versions of macOS.
Is there a setting/preference somewhere to change this behavior?
There doesn't seem to be an option inside com.apple.iCal.plist. There used to be an ical debug menu option but that is no longer.
When changing the "start time" of an event the "end time" is automatically changed to keep the event duration the same. As far as I know I never prioritized duration of events.
I then have to reset the end time to where I set it before the computer made the decision to modify it. Which requires that I check what it was before it was automatically modified. A lot of back and forth for a simple task of changing the start time.