Your own code simply leaves out the key word "mandatory" in combination with "left_control" – so Karabiner EACH time is content to register only "open_bracket" to remap the key to "close_bracket".
Note: there is an opposite key word "optional" that seems to be used in lack of "mandatory"…