### 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));
	viewport->canvas_map[p_canvas].transform = p_offset;
}
void RendererViewport::viewport_set_transparent_background(RID p_viewport, bool p_enabled) {
	Viewport *viewport = viewport_owner.get_or_null(p_viewport);
	ERR_FAIL_COND(!viewport);
	RSG::texture_storage->render_target_set_transparent(viewport->render_target, p_enabled);
	viewport->transparent_bg = p_enabled;
}
void RendererViewport::viewport_set_global_canvas_transform(RID p_viewport, const Transform2D &p_transform) {
	Viewport *viewport = viewport_owner.get_or_null(p_viewport);
	ERR_FAIL_COND(!viewport);
	viewport->global_transform = p_transform;
}
void RendererViewport::viewport_set_canvas_stacking(RID p_viewport, RID p_canvas, int p_layer, int p_sublayer) {
	Viewport *viewport = viewport_owner.get_or_null(p_viewport);
	ERR_FAIL_COND(!viewport);
	ERR_FAIL_COND(!viewport->canvas_map.has(p_canvas));
	viewport->canvas_map[p_canvas].layer = p_layer;
	viewport->canvas_map[p_canvas].sublayer = p_sublayer;
}
void RendererViewport::viewport_set_positional_shadow_atlas_size(RID p_viewport, int p_size, bool p_16_bits) {