### Godot version

4.1.stable

### System information

Windows 10 22H2 - GLES3 - GTX 1080 Ti (driver 536.40)

### Issue description

I noticed this bug in the code while debugging #79315, and confirmed the issue with testing. If you take a material using a filtering mode that has anisotropic filtering (eg `RS::CANVAS_ITEM_TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPIC` aka "Linear Mipmap Anisotropic") and switch it to a filtering mode that doesn't have anisotropic filtering (eg `RS::CANVAS_ITEM_TEXTURE_FILTER_LINEAR_WITH_MIPMAPS` aka "Linear Mipmap"), the anisotropic filtering remains enabled for the texture until it gets reloaded (eg by reloading the scene). I've only tested this in the editor, but this should also apply to games themselves if they change the filtering mode of a texture through code. This issue doesn't occur with the Mobile renderer (and I assume the Forward+ renderer).



### Steps to reproduce

1. View a surface with a material with anisotropic filtering disabled at an angle that you can tell it's disabled.
![no anisotropic](https://github.com/godotengine/godot/assets/607715/4c3f2c68-6284-412c-9adf-625f4c3e2ab6)

2. Switch the filtering mode of the material to one with anisotropic filtering enabled.
![with anisotropic](https://github.com/godotengine/godot/assets/607715/b67e5bb5-68f8-4934-bf0f-35836666724e)

3. Switch the filtering mode of the material back to a mode with anisotropic filtering disabled, and note how the surface still has anisotropic filtering applied.
![bug anisotropic](https://github.com/godotengine/godot/assets/607715/05037b2e-be9f-4351-8a77-b9b73c832696)


### Minimal reproduction project

I used the texture repeat test program from #79315 for the example pictures, so I'll use that as the minimum reproduction: [RepTest.zip](https://github.com/godotengine/godot/files/12011701/RepTest.zip). Just make sure to rotate the camera for the test, as the default position in that project isn't in a good spot for testing anisotropic filtering.
void _clear_render_target(RenderTarget *rt);
	void _update_render_target(RenderTarget *rt);
	void _create_render_target_backbuffer(RenderTarget *rt);
	void _render_target_allocate_sdf(RenderTarget *rt);
	void _render_target_clear_sdf(RenderTarget *rt);
	Rect2i _render_target_get_sdf_rect(const RenderTarget *rt) const;
	void _texture_set_data(RID p_texture, const Ref<Image> &p_image, int p_layer, bool initialize);
	struct RenderTargetSDF {
		CanvasSdfShaderGLES3 shader;
		RID shader_version;
	} sdf_shader;
public:
	static TextureStorage *get_singleton();
	TextureStorage();
	virtual ~TextureStorage();
	_FORCE_INLINE_ RID texture_gl_get_default(DefaultGLTexture p_texture) {
		return default_gl_textures[p_texture];
	}
	
	CanvasTexture *get_canvas_texture(RID p_rid) { return canvas_texture_owner.get_or_null(p_rid); };
	bool owns_canvas_texture(RID p_rid) { return canvas_texture_owner.owns(p_rid); };
	virtual RID canvas_texture_allocate() override;
	virtual void canvas_texture_initialize(RID p_rid) override;
	virtual void canvas_texture_free(RID p_rid) override;
	virtual void canvas_texture_set_channel(RID p_canvas_texture, RS::CanvasTextureChannel p_channel, RID p_texture) override;
	virtual void canvas_texture_set_shading_parameters(RID p_canvas_texture, const Color &p_base_color, float p_shininess) override;
	virtual void canvas_texture_set_texture_filter(RID p_item, RS::CanvasItemTextureFilter p_filter) override;
	virtual void canvas_texture_set_texture_repeat(RID p_item, RS::CanvasItemTextureRepeat p_repeat) override;
	
	Texture *get_texture(RID p_rid) {