Just a heads up,
Woocommerce checkout editor is overriding the default Woo field settings, which includes “required”.
If you sell/ship to countries that don’t have states, your checkout will give an error saying “State is required”, but there will be no state field.
I suggest piggybacking the get_country_locale() function to determine state required, as a simple yes/no doesn’t cut it.
Cheers