### Godot version

4.1

### System information

Windows 10 - Godot 4.1.1 - Compatibility

### Issue description

When trying to use the Varjo XR3 headset (in OpenXR mode) with Godot 4 (with OpenXR and passthrough activated), the passthrough does not work, i.e. the scene is rendered on a black background instead of the camera stream.

It seems to me that are two problems in the openxr module, more precisely in the openx_api.cpp file (fixing them solves  the issue) : 

1. The XR_COMPOSITION_LAYER_BLEND_TEXTURE_SOURCE_ALPHA_BIT  is only set when the number of layers is > 1, which is fine for the Meta Quest headset but does not work for the Varjo since it only requires one layer. 
2. The environment blend mode XR_ENVIRONMENT_BLEND_MODE_ALPHA_BLEND  is only really set when the XRFbPassthrough extension is present, which is not the case with the Varjo runtime. 

I am not sure how to fix this without causing issues for other headsets.

1. Would it be an issue to always activate the XR_COMPOSITION_LAYER_BLEND_TEXTURE_SOURCE_ALPHA_BIT ? 
2. Could blend modes be activated even if they are not supported by an extension ? 





### Steps to reproduce

- Create a Godot 4 project with OpenXR activated in Compatibility mode
- Add the code to activate OpenXr and to enable passthrough : https://docs.godotengine.org/en/stable/tutorials/xr/openxr_passthrough.html#passthrough-extension
- Start the Varjo Base software and activate OpenXR
- Run the Godot project

### Minimal reproduction project

N/A
#ifdef TOOLS_ENABLED
	if (editor || project_manager || cmdline_tool) {
		EditorPaths::create();
		
		if (!init_use_custom_screen && (editor || project_manager) && EditorPaths::get_singleton()->are_paths_valid()) {
			Ref<DirAccess> dir = DirAccess::open(EditorPaths::get_singleton()->get_config_dir());
			String config_file_name = "editor_settings-" + itos(VERSION_MAJOR) + ".tres";
			String config_file_path = EditorPaths::get_singleton()->get_config_dir().path_join(config_file_name);
			if (dir->file_exists(config_file_name)) {
				Error err;
				Ref<FileAccess> f = FileAccess::open(config_file_path, FileAccess::READ, &err);
				if (f.is_valid()) {
					VariantParser::StreamFile stream;
					stream.f = f;
					String assign;
					Variant value;
					VariantParser::Tag next_tag;
					int lines = 0;
					String error_text;
					VariantParser::ResourceParser rp_new;
					rp_new.ext_func = _parse_resource_dummy;
					rp_new.sub_func = _parse_resource_dummy;
					while (true) {
						assign = Variant();
						next_tag.fields.clear();
						next_tag.name = String();
						err = VariantParser::parse_tag_assign_eof(&stream, lines, error_text, next_tag, assign, value, &rp_new, true);
						if (err == ERR_FILE_EOF) {
							break;
						}