Currently LoaderFilter works by looking at the passed list of GameVersions. Which works perfectly fine assuming the mod authors tag their mods with their loader. HOWEVER they don't always do that. See cleancut for example. They have two recent files, 3061943 which is meant to be used on forge and 2994761 which is meant to be used on fabric. The fabric mod is tagged as fabric, but the forge mod is not tagged as forge. This means due to the forge mod being more recent AND not technically having conflicting tags it is selected.
There's two shitty hacks that can be implemented to fix this.
If a mod has used tags for the loader you want in the past (fabric in this case). It SHOULD NOT accept files without that tag even if they don't have a conflicting loader tagged. This would technically fix the issue, but what if a mod is fabric only, normally uses fabric tags, but the author puts out a new version and forgets to tag it. Not optimal.
Filename regex detection.... yea...... basically we check the filename and see if it contains the name of a loader and add that to the versions list before doing a check. I don't see any downsides to this other than how fucking stupid it is.
Also a manual option should be implemented in the add command. That way the user can manually specify a certain file ID and install that file. Not great, but useful so modget works even in weird edge cases.