### Godot version

4.1.1.stable

### System information

Godot v4.1.1.stable - Windows 10.0.22621 - Vulkan (Compatibility) - Intel(R) HD Graphics 5500 (Intel Corporation; 20.19.15.4835) - Intel(R) Core(TM) i7-5600U CPU @ 2.60GHz (4 Threads)

### Issue description

CanvasModulate color reset to default when changing between scene that has CanvasModulate.

https://github.com/godotengine/godot/assets/55371083/ed6ca028-59c1-415d-9801-4965e52949dc



### Steps to reproduce

create two scene with CanvasModulate and switch back and forth.


### Minimal reproduction project

[canvas_modulate.zip](https://github.com/godotengine/godot/files/12100607/canvas_modulate.zip)

ClassDB::bind_method(D_METHOD("set_color", "color"), &CanvasModulate::set_color);
	ClassDB::bind_method(D_METHOD("get_color"), &CanvasModulate::get_color);
	ADD_PROPERTY(PropertyInfo(Variant::COLOR, "color"), "set_color", "get_color");
}
void CanvasModulate::set_color(const Color &p_color) {
	color = p_color;
	if (is_visible_in_tree()) {
		RS::get_singleton()->canvas_set_modulate(get_canvas(), color);
	}
}
Color CanvasModulate::get_color() const {
	return color;
}
PackedStringArray CanvasModulate::get_configuration_warnings() const {
	PackedStringArray warnings = Node::get_configuration_warnings();
	if (is_visible_in_tree() && is_inside_tree()) {
		List<Node *> nodes;
		get_tree()->get_nodes_in_group("_canvas_modulate_" + itos(get_canvas().get_id()), &nodes);
		if (nodes.size() > 1) {
			warnings.push_back(RTR("Only one visible CanvasModulate is allowed per scene (or set of instantiated scenes). The first created one will work, while the rest will be ignored."));
		}
	}
	return warnings;
}
CanvasModulate::CanvasModulate() {
}
CanvasModulate::~CanvasModulate() {
}