### Godot version

4.1.dev (1becfea37c)

### System information

MacOS 13.3 M1 Pro

### Issue description

When renaming with Batch Rename using invalid character `NodePath` will be updated with the invalid new name.

### Steps to reproduce

1.  open MRP
2. batch rename all nodes except the root from `e` to `%`
3. look at the `NodePath` on the root

### Minimal reproduction project

[test1.zip](https://github.com/godotengine/godot/files/11377324/test1.zip)

opt_style = memnew(OptionButton);
	opt_style->add_item(TTR("Keep"));
	opt_style->add_item(TTR("PascalCase to snake_case"));
	opt_style->add_item(TTR("snake_case to PascalCase"));
	hbc_style->add_child(opt_style);
	
	HBoxContainer *hbc_case = memnew(HBoxContainer);
	vbc_process->add_child(hbc_case);
	Label *lbl_case = memnew(Label);
	lbl_case->set_text(TTR("Case"));
	hbc_case->add_child(lbl_case);
	opt_case = memnew(OptionButton);
	opt_case->add_item(TTR("Keep"));
	opt_case->add_item(TTR("To Lowercase"));
	opt_case->add_item(TTR("To Uppercase"));
	hbc_case->add_child(opt_case);
	
	HSeparator *sep_preview = memnew(HSeparator);
	sep_preview->set_custom_minimum_size(Size2(10, 20));
	vbc->add_child(sep_preview);
	lbl_preview_title = memnew(Label);
	vbc->add_child(lbl_preview_title);
	lbl_preview = memnew(Label);
	lbl_preview->set_autowrap_mode(TextServer::AUTOWRAP_WORD_SMART);
	vbc->add_child(lbl_preview);
	
	set_min_size(Size2(383, 0));
	set_ok_button_text(TTR("Rename"));
	Button *but_reset = add_button(TTR("Reset"));
	eh.errfunc = _error_handler;