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 a complementary key word "optional" that may be default in lack of "mandatory"…