### 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
}
CF_UNSPECIFIED = 0U,
	CF_BLOCK = 1U, 
	CF_FUNC_DECL_PARAM_SPEC = 2U, 
	CF_FUNC_DECL_PARAM_TYPE = 4U, 
	CF_IF_DECL = 8U, 
	CF_BOOLEAN = 16U, 
	CF_GLOBAL_SPACE = 32U, 
	CF_DATATYPE = 64U, 
	CF_UNIFORM_TYPE = 128U, 
	CF_VARYING_TYPE = 256U, 
	CF_PRECISION_MODIFIER = 512U, 
	CF_INTERPOLATION_QUALIFIER = 1024U, 
	CF_UNIFORM_KEYWORD = 2048U, 
	CF_CONST_KEYWORD = 4096U, 
	CF_UNIFORM_QUALIFIER = 8192U, 
	CF_SHADER_TYPE = 16384U, 
};
const uint32_t KCF_DATATYPE = CF_BLOCK | CF_GLOBAL_SPACE | CF_DATATYPE | CF_FUNC_DECL_PARAM_TYPE | CF_UNIFORM_TYPE;
const uint32_t KCF_SAMPLER_DATATYPE = CF_FUNC_DECL_PARAM_TYPE | CF_UNIFORM_TYPE;
const ShaderLanguage::KeyWord ShaderLanguage::keyword_list[] = {
	{ TK_TRUE, "true", CF_BLOCK | CF_IF_DECL | CF_BOOLEAN, {}, {} },
	{ TK_FALSE, "false", CF_BLOCK | CF_IF_DECL | CF_BOOLEAN, {}, {} },
	
	{ TK_TYPE_VOID, "void", CF_GLOBAL_SPACE, {}, {} },
	{ TK_TYPE_BOOL, "bool", KCF_DATATYPE, {}, {} },
	{ TK_TYPE_BVEC2, "bvec2", KCF_DATATYPE, {}, {} },
	{ TK_TYPE_BVEC3, "bvec3", KCF_DATATYPE, {}, {} },
	{ TK_TYPE_BVEC4, "bvec4", KCF_DATATYPE, {}, {} },
	{ TK_TYPE_INT, "int", KCF_DATATYPE, {}, {} },