Texture Gamma problem on Metal/ES3

I’m packing my roughness map into the Alpha channel of my color map. As suggested here…

However, my textures are either too bright or too dark depending on whether sRGB is checked. The only way I’m able to get them too look correct is if I enable sRGB, compile the material with the Texture Sampler types as “Color”. Then untick sRGB on the textures. Which is obviously not the right way to go about things.

I’ve seen people mention that the PNG should be 8-bit, but changing to that in photoshop limits to 256 colors? I’ve also tried using TGA but the alpha channel affects the colors for some reason?

What is the correct method of packing roughness in the color alpha channel and retaining the correct gamma across multiple platforms (SM4/5, ES2, ES3/Metal).

Thanks