I recently realized that keras callback for early stopping returns the last epoch's weights by default. If you want to do otherwise you can use the argument restore_best_weights=True, as stated for example in this answer or documentation.
I'm quite surprised by that, as I would assume one would only be interested in the best model at the end of the training. So why is the default set to restore_best_weights=False? Is there any practical reason that I am missing?