### 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
text_editor->begin_complex_operation();
	Vector<int> carets_to_remove;
	Vector<int> caret_edit_order = text_editor->get_caret_index_edit_order();
	for (int i = 0; i < caret_edit_order.size(); i++) {
		int c = caret_edit_order[i];
		int cl = text_editor->get_caret_line(c);
		bool swaped_caret = false;
		for (int j = i + 1; j < caret_edit_order.size(); j++) {
			if (text_editor->has_selection(caret_edit_order[j])) {
				if (text_editor->get_selection_from_line() == cl) {
					carets_to_remove.push_back(caret_edit_order[j]);
					continue;
				}
				if (text_editor->get_selection_to_line() == cl) {
					if (text_editor->has_selection(c)) {
						if (text_editor->get_selection_to_line(c) != cl) {
							text_editor->select(cl + 1, 0, text_editor->get_selection_to_line(c), text_editor->get_selection_to_column(c), c);
							break;
						}
					}
					carets_to_remove.push_back(c);
					i = j - 1;
					swaped_caret = true;
					break;
				}
				break;
			}
			if (text_editor->get_caret_line(caret_edit_order[j]) == cl) {
				carets_to_remove.push_back(caret_edit_order[j]);