Yes, it’s the full answer. Thanks.
After some experiment, I understand where is the true problem. $value is correct, but something wrong with updating process:
https://support.advancedcustomfields.com/forums/topic/where-is-the-best-place-for-updating-hidden-fields-in-acf_form/