### Godot version

v4.0.beta14.official

### System information

Windows 11 22H2

### Issue description

There's not much to it, simply noticed that if you have Find or Find+Replace opened in the Script Editor, the Multi-Caret functionality seems to stop working -- forcibly removing all other carets after the first character is typed. I'd expect the Multi-Caret to remain until unselected by clicking elsewhere.

The content of what's in "Find" doesn't matter, it happens regardless.

https://user-images.githubusercontent.com/8159582/214234069-cbcc1681-3f09-4b10-9a90-857cc91d41a7.mp4



### Steps to reproduce

1. Open the Find or Find+Replace tool in the Script Editor _(nothing has to be inputted)_
2. Add multiple mouse cursors with Ctrl+Alt+Click **OR** highlight something and then highlight additional duplicates with Ctrl+D _(or synonymous keyboard shortcuts depending on OS)_.
3. Start typing as if going to add or replace in all locations where the multi-caret is

### Minimal reproduction project

N/A
ED_SHORTCUT_ARRAY("script_editor/reset_zoom", TTR("Reset Zoom"),
			{ int32_t(KeyModifierMask::CMD_OR_CTRL | Key::KEY_0), int32_t(KeyModifierMask::CMD_OR_CTRL | Key::KP_0) });
	text_editor = memnew(CodeEdit);
	add_child(text_editor);
	text_editor->set_v_size_flags(SIZE_EXPAND_FILL);
	text_editor->set_structured_text_bidi_override(TextServer::STRUCTURED_TEXT_GDSCRIPT);
	int ot_mode = EDITOR_GET("interface/editor/code_font_contextual_ligatures");
	Ref<FontVariation> fc = text_editor->get_theme_font(SNAME("font"));
	if (fc.is_valid()) {
		switch (ot_mode) {
			case 1: { 
				Dictionary ftrs;
				ftrs[TS->name_to_tag("calt")] = 0;
				fc->set_opentype_features(ftrs);
			} break;
			case 2: { 
				Vector<String> subtag = String(EDITOR_GET("interface/editor/code_font_custom_opentype_features")).split(",");
				Dictionary ftrs;
				for (int i = 0; i < subtag.size(); i++) {
					Vector<String> subtag_a = subtag[i].split("=");
					if (subtag_a.size() == 2) {
						ftrs[TS->name_to_tag(subtag_a[0])] = subtag_a[1].to_int();
					} else if (subtag_a.size() == 1) {
						ftrs[TS->name_to_tag(subtag_a[0])] = 1;
					}
				}
				fc->set_opentype_features(ftrs);
			} break;
			default: { 
				Dictionary ftrs;