### Godot version

4.1.dev (4d5f10fc3a)

### System information

MacOS 13.1 M1 Pro

### Issue description

When right clicking an element of an array/dictionary it will select it but it will never be unselected (not if you select another node nor by reselecting the node). This leads to a lot of element being marked as selected which makes it a little less readable. When doing a left click it won't select.

### Steps to reproduce

1. export an array 
2. add an element 
3. try left click it won't select
4. try right click it will select

### Minimal reproduction project

N/A
Ref<Font> light_font = get_theme_font(SNAME("main"), SNAME("EditorFonts"));
					int light_font_size = get_theme_font_size(SNAME("main_size"), SNAME("EditorFonts"));
					Color light_font_color = get_theme_color(SNAME("disabled_font_color"), SNAME("Editor"));
					
					num_revertable_str = vformat(TTRN("(%d change)", "(%d changes)", revertable_properties.size()), revertable_properties.size());
					num_revertable_width = light_font->get_string_size(num_revertable_str, HORIZONTAL_ALIGNMENT_LEFT, -1.0f, light_font_size, TextServer::JUSTIFICATION_NONE).x;
					if (label_width + separation + num_revertable_width > available) {
						
						num_revertable_str = vformat("(%d)", revertable_properties.size());
						num_revertable_width = light_font->get_string_size(num_revertable_str, HORIZONTAL_ALIGNMENT_LEFT, -1.0f, light_font_size, TextServer::JUSTIFICATION_NONE).x;
					}
					Point2 text_offset = Point2(
							margin_end,
							light_font->get_ascent(light_font_size) + (header_height - light_font->get_height(light_font_size)) / 2);
					if (!rtl) {
						text_offset.x = get_size().width - (text_offset.x + num_revertable_width);
					}
					draw_string(light_font, text_offset, num_revertable_str, HORIZONTAL_ALIGNMENT_LEFT, -1.0f, light_font_size, light_font_color, TextServer::JUSTIFICATION_NONE);
					margin_end += num_revertable_width + separation;
					available -= num_revertable_width + separation;
				}
				
				Point2 text_offset = Point2(
						margin_start,
						font->get_ascent(font_size) + (header_height - font->get_height(font_size)) / 2);
				if (rtl) {
					text_offset.x = margin_end;
				}
				HorizontalAlignment text_align = rtl ? HORIZONTAL_ALIGNMENT_RIGHT : HORIZONTAL_ALIGNMENT_LEFT;
				draw_string(font, text_offset, label, text_align, available, font_size, font_color, TextServer::JUSTIFICATION_KASHIDA | TextServer::JUSTIFICATION_CONSTRAIN_ELLIPSIS);