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".
EDIT, … much later: you also need to code "type": "basic"
in every manipulator !
Note: there is a complementary key word "optional" that may be default in lack of "mandatory"…