Global CVARs like gl_texture_filter will only change when launched from a fresh ini file. If you launch from an already existing ini file, nothing will change. This is by design, I suppose it is possible to change it to game-only if it exists in defcvars but I have no idea how the engine would react to that (like would it remove the user's own global default, or would it even bother reading a local game-only value) - and in worst case scenario, how to address it.
The best way to address gl_texture_filter, specifically, though, in my opinion, is make it game-only, or to use a separate CVAR if an IWAD defines itself as having high resolution textures. Some games actually look better with trilinear filtering (oh god I just committed sacrilege by saying that) - Games with textures that are made with Doom's extreme low resolution scale happen to be the ones that don't.