I used to know how this works but it appears to be far more complicated than just a class now.
fields hidden by ACF have conditional logic
1) The container has a class “acf-hidden”
2) The container has a class “acf-empty”
3) The container has an attribute “hidden”
4) The input field itself has the attribute “disabled”
My guess is that it it #4 that prevents the value from being submitted.