I think it's because for UE scripts the entry points will get invoked separately. For example in a client script it starts when the page loads and persists until you save. Whereas in a UE script before load fires prior to loading the record and then it isn't 'active' until the record is saved at which point the beforeSubmit then fires again without knowledge of things that happened in the before load. Does that make sense?