As for the dynamic events running before the validation styling is applied maybe @patrick can explain this better.
But your server action is not being called before validation is applied for sure, you can also check this in dev tools > Network > XHR.