Regression from #71248:

I believe this pull may have caused errors on WebGL since it moves the `GLES_OVER_GL` guard. WebGL does not support texture swizzling per: https://registry.khronos.org/webgl/specs/latest/2.0/#5.19
so this is causing the following trace in Chrome:
```
WebGL: INVALID_ENUM: texParameter: invalid parameter name
```
and it quickly fills up the 256 log limit for the same message in WebGL.

This doesn't appear to be breaking anything asides from causing the numerous log messages.

_Originally posted by @jnlopar in https://github.com/godotengine/godot/issues/71248#issuecomment-1384768973_

CC @rsjtdrjgfuzkfg @clayjohn
ERR_FAIL_COND_V(image->is_empty(), Ref<Image>());
	if (texture->format != texture->real_format) {
		image->convert(texture->format);
	}
#else
	Vector<uint8_t> data;
	
	int data_size = Image::get_image_data_size(texture->alloc_width, texture->alloc_height, Image::FORMAT_RGBA8, false);
	data.resize(data_size * 2); 
	uint8_t *w = data.ptrw();
	GLuint temp_framebuffer;
	glGenFramebuffers(1, &temp_framebuffer);
	GLuint temp_color_texture;
	glGenTextures(1, &temp_color_texture);
	glBindFramebuffer(GL_FRAMEBUFFER, temp_framebuffer);
	glBindTexture(GL_TEXTURE_2D, temp_color_texture);
	glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, texture->alloc_width, texture->alloc_height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
	glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, temp_color_texture, 0);
	glDepthMask(GL_FALSE);
	glDisable(GL_DEPTH_TEST);
	glDisable(GL_CULL_FACE);
	glDisable(GL_BLEND);
	glDepthFunc(GL_LEQUAL);
	glColorMask(1, 1, 1, 1);
	glActiveTexture(GL_TEXTURE0);
	glBindTexture(GL_TEXTURE_2D, texture->tex_id);
	glViewport(0, 0, texture->alloc_width, texture->alloc_height);
	glClearColor(0.0, 0.0, 0.0, 0.0);