### Godot version

4.2

### System information

Windows 10

### Issue description

This commit https://github.com/godotengine/godot/commit/72e2e4705942dd01d4befea3380df5d0fe77c363 added `_update_window_size` to `set_title` for some reason:
https://github.com/godotengine/godot/blob/0bf12956a10d216c46368f26b00f6999d000c1d8/scene/main/window.cpp#L287

This causes the Vulkan swapchain to be recreated each time the title is changed causing massive fps loss.

### Steps to reproduce

```
func _process(_delta):
 var title = "fps: %d" % Engine.get_frames_per_second()
 get_window().set_title(title)
```

### Minimal reproduction project

See steps to reproduce
ERR_FAIL_COND(window_id == DisplayServer::INVALID_WINDOW_ID);
	mode = (Mode)DisplayServer::get_singleton()->window_get_mode(window_id);
	for (int i = 0; i < FLAG_MAX; i++) {
		flags[i] = DisplayServer::get_singleton()->window_get_flag(DisplayServer::WindowFlags(i), window_id);
	}
}
void Window::_clear_window() {
	ERR_FAIL_COND(window_id == DisplayServer::INVALID_WINDOW_ID);
	bool had_focus = has_focus();
	if (transient_parent && transient_parent->window_id != DisplayServer::INVALID_WINDOW_ID) {
		DisplayServer::get_singleton()->window_set_transient(window_id, DisplayServer::INVALID_WINDOW_ID);
	}
	for (const Window *E : transient_children) {
		if (E->window_id != DisplayServer::INVALID_WINDOW_ID) {
			DisplayServer::get_singleton()->window_set_transient(E->window_id, DisplayServer::INVALID_WINDOW_ID);
		}
	}
	_update_from_window();
	DisplayServer::get_singleton()->delete_sub_window(window_id);
	window_id = DisplayServer::INVALID_WINDOW_ID;
	
	if (had_focus && transient_parent) {
		transient_parent->grab_focus();
	}
	_update_viewport_size();
	RS::get_singleton()->viewport_set_update_mode(get_viewport_rid(), RS::VIEWPORT_UPDATE_DISABLED);
}
void Window::_rect_changed_callback(const Rect2i &p_callback) {