I have just investigated why CF always sets the latest minecraft version for uploaded files.
The Culprit is that the CF uploader (https://github.com/itsmeow/curseforge-upload@v3) is being run with
the game-versions of Minecraft <extracted manifest version here>.
This is a problem since the field should contain IDs for game versions that can be extracted through the API and a slug/name consisting of the extracted manifest version.
Documentation here: CurseForge
If you would like me to implement this feature, please reach out.
It requries the same token in the GET-request as the upload.