### Godot version

4.0.3

### System information

Windows10

### Issue description

sky shader accepts uniform vec3, vec4, vec3 array, but not vec4 array

### Steps to reproduce

simply pass Vector4 to uniform vec4[] from gdscript

### Minimal reproduction project

gdscript

sky_material.set_shader_parameter("v3",Vector3(1,0.8,0.5)) - v
sky_material.set_shader_parameter("v4",Vector4(1,0.8,0.5,0.2)) - v
sky_material.set_shader_parameter("v3a",[Vector3(1,0.8,0.5)]) - v
sky_material.set_shader_parameter("v4a",[Vector4(1,0.8,0.5,0.2)]) - x

sky gdshader

uniform vec3 v3;
uniform vec4 v4;
uniform vec3 v3a[1];
uniform vec4 v4a[1];

void sky(){
    COLOR.r = v4a[0].w
}
} else if (p_name == "params_depth_draw_mode") {
		int mode = p_value;
		if (mode == 3) {
			set_transparency(TRANSPARENCY_ALPHA_DEPTH_PRE_PASS);
		}
		return true;
	} else if (p_name == "depth_enabled") {
		bool enabled = p_value;
		if (enabled) {
			set_feature(FEATURE_HEIGHT_MAPPING, true);
			set_flag(FLAG_INVERT_HEIGHTMAP, true);
		}
		return true;
	} else {
		static const Pair<const char *, const char *> remaps[] = {
			{ "flags_use_shadow_to_opacity", "shadow_to_opacity" },
			{ "flags_use_shadow_to_opacity", "shadow_to_opacity" },
			{ "flags_no_depth_test", "no_depth_test" },
			{ "flags_use_point_size", "use_point_size" },
			{ "flags_fixed_size", "fixed_Size" },
			{ "flags_albedo_tex_force_srgb", "albedo_texture_force_srgb" },
			{ "flags_do_not_receive_shadows", "disable_receive_shadows" },
			{ "flags_disable_ambient_light", "disable_ambient_light" },
			{ "params_diffuse_mode", "diffuse_mode" },
			{ "params_specular_mode", "specular_mode" },
			{ "params_blend_mode", "blend_mode" },
			{ "params_cull_mode", "cull_mode" },
			{ "params_depth_draw_mode", "params_depth_draw_mode" },
			{ "params_point_size", "point_size" },
			{ "params_billboard_mode", "billboard_mode" },