### Godot version

4.2.dev3

### System information

Godot v4.2.dev3 - Arch Linux #0~20230811.g489fabdc SMP PREEMPT_DYNAMIC Sat Aug 12 02:04:20 UT - X11 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1650 (nvidia; 535.98) - Intel(R) Core(TM) i5-9300H CPU @ 2.40GHz (8 Threads)

### Issue description

After turning on 2d hdr and font msdf at the same time, there is a problem with ui text rendering.

2d hdr off:
![图片](https://github.com/godotengine/godot/assets/52148221/37074fde-a0ce-4d3f-8bfc-dcf3f910cb12)
2d hdr on:
![图片](https://github.com/godotengine/godot/assets/52148221/b858899c-e08f-4bac-b0d6-4385d9a46114)


### Steps to reproduce

1. Open msdf for default font or custom font.
2. Turn on 2d hdr.
3. Add a Label node and enter text, the text rendering is destroyed.

### Minimal reproduction project

N/A
CanvasLight *cl = canvas_light_owner.get_or_null(p_rid);
	ERR_FAIL_COND(!cl->shadow.enabled);
	_update_shadow_atlas();
	Vector2 light_dir = p_light_xform.columns[1].normalized();
	Vector2 center = p_clip_rect.get_center();
	float to_edge_distance = ABS(light_dir.dot(p_clip_rect.get_support(light_dir)) - light_dir.dot(center));
	Vector2 from_pos = center - light_dir * (to_edge_distance + p_cull_distance);
	float distance = to_edge_distance * 2.0 + p_cull_distance;
	float half_size = p_clip_rect.size.length() * 0.5; 
	cl->shadow.z_far = distance;
	cl->shadow.y_offset = float(p_shadow_index * 2 + 1) / float(state.max_lights_per_render * 2);
	Transform2D to_light_xform;
	to_light_xform[2] = from_pos;
	to_light_xform[1] = light_dir;
	to_light_xform[0] = -light_dir.orthogonal();
	to_light_xform.invert();
	Vector<Color> cc;
	cc.push_back(Color(1, 1, 1, 1));
	Rect2i rect(0, p_shadow_index * 2, state.shadow_texture_size, 2);
	RD::DrawListID draw_list = RD::get_singleton()->draw_list_begin(state.shadow_fb, RD::INITIAL_ACTION_CLEAR_REGION, RD::FINAL_ACTION_READ, RD::INITIAL_ACTION_CLEAR_REGION, RD::FINAL_ACTION_DISCARD, cc, 1.0, 0, rect);
	Projection projection;
	projection.set_orthogonal(-half_size, half_size, -0.5, 0.5, 0.0, distance);
	projection = projection * Projection(Transform3D().looking_at(Vector3(0, 1, 0), Vector3(0, 0, -1)).affine_inverse());
	ShadowRenderPushConstant push_constant;
	for (int y = 0; y < 4; y++) {