More context, as requested!
This happens in a component which uses radio buttons to represent part of the data entered (one member in a dict).

We can’t bind rb.get_group_value() to a variable directly. Code must write the value back, and that code needs to be triggered reliably.
Even with writeback turned on

writeback wasn’t occurring. The user’s radio-button selection (if it changed) didn’t get preserved. So I triggered the writeback code on hide. This was very reliable.
I had been using this component, and other versions of it, exclusively in cases where writeback was enabled, so writing back unconditionally, in an on-hide handler, worked just fine.
Then, recently, I needed two different versions, on the same form. Worse, each handles a different view of the same dict’s data.
Fortunately, the two versions are mutually exclusive. Users see one, or the other, depending on a separate setting.

The visible one needs to write back, obviously. But the invisible one needs NOT to write back, to avoid overwriting the user-entered data with its (unchanged) copy.
Currently, as a workaround, I’m using a visibility check to keep the invisible component from writing back. If I was disabling components, instead of making them invisible, I could check enablement instead.
This works because the component’s visibility cannot change during the Form’s lifetime. Its initial copy of the data is always the copy that the end-user should see and edit.
I would like to know how to write components that use radio buttons, and directly respect the Writeback flag, instead of using other flags as a proxy.
But my workaround is adequate for now.