besides max_input_vars there are other things that can cause this, max_input_nesting_level & max_input_time may also cause problems.
As you say, if you move it further up it gets saved and the later ones do not. This is definitely a problem with the input not getting there and not a problem with ACF itself.