### Godot version

v4.0.beta12.official [3c9bf4bc2]

### System information

Windows 10, AMD Radeon RX 480 4 GB RAM, 16 gb ram, Intel CPU 4 cores.

### Issue description


When switching to mobile render from forward + The alpha texture on the tree mesh starts to flicker.
Made a video: https://www.youtube.com/watch?v=WdGVi1hdRHo



### Steps to reproduce

Switching to mobile render from forward +

### Minimal reproduction project

Uploaded the project in google link: https://drive.google.com/file/d/1efEV914CWkyWoGzkv3RBMnw9t-4BVTeQ/view?usp=sharing
(only deleted the .godot - i guess its not needed.)
Viewport *viewport = viewport_owner.get_or_null(p_viewport);
	ERR_FAIL_COND(!viewport);
	ERR_FAIL_COND(viewport->canvas_map.has(p_canvas));
	RendererCanvasCull::Canvas *canvas = RSG::canvas->canvas_owner.get_or_null(p_canvas);
	ERR_FAIL_COND(!canvas);
	canvas->viewports.insert(p_viewport);
	viewport->canvas_map[p_canvas] = Viewport::CanvasData();
	viewport->canvas_map[p_canvas].layer = 0;
	viewport->canvas_map[p_canvas].sublayer = 0;
	viewport->canvas_map[p_canvas].canvas = canvas;
}
void RendererViewport::viewport_remove_canvas(RID p_viewport, RID p_canvas) {
	Viewport *viewport = viewport_owner.get_or_null(p_viewport);
	ERR_FAIL_COND(!viewport);
	RendererCanvasCull::Canvas *canvas = RSG::canvas->canvas_owner.get_or_null(p_canvas);
	ERR_FAIL_COND(!canvas);
	viewport->canvas_map.erase(p_canvas);
	canvas->viewports.erase(p_viewport);
}
void RendererViewport::viewport_set_canvas_transform(RID p_viewport, RID p_canvas, const Transform2D &p_offset) {