Looked into this. It seems what Unity broke is that before, the call order was:
Awake
OnEnable
OnValidate
Now it's
OnValidate
Awake
OnEnable
That's not exactly a fix. Invoke() doesn't work at edit time. You are basically removing the OnValidate call altogether in edit time.
Looked into this. It seems what Unity broke is that before, the call order was:
Awake
OnEnable
OnValidate
Now it's
OnValidate
Awake
OnEnable