How do I make a textures values translate into shader values So the title might be a bit confusing bit it's the best I can do.

I'm trying to make a simple way to control the roughness of my material with a texture.
I want this particular material to have 0.75 roughness on most of it, and 1.0 on the rest.
So I make a texture in GIMP with 100 value on the rough parts and 75 value on the less rough parts, But plugging it into the roughness makes the .75 parts way to shiny.
In Blender's image viewer it says the value of that part of the texture is 0.749, but it doesn't translate to the same value in roughness.
Is there a way to fix this?

I've tried RGB to BW, seperate HSV and only using the value, putting it into a colour ramp and using  that, but nothing's worked so far. I've also tried using the alpha instead and that works fine, but the texture is much harder to create and look at.

Thanks to anyone who can help with this
The Alpha Channel works, because it is read linear. No Gamma correction etc. Color spaces HSL, HSV etc. can be very complex, so my suggestion is as @Jachym Michal points out, non-color, or linear color. However keep in mind, the roughness values of the materials are squared now, so they are less sensitive than in 2.79, in case you want to work with precize values. Lastly, you can use a color ramp to map the 2 values (0.75 and 1) to any color you want. That might save you going back and forth between GIMP and Blender.