PNG saved out of Photoshop will indeed be stored in gamma space, but really that’s more about telling tools how to read & display the data. A value of 127/255 in the image file could be gamma, or could be linear.
That gradient you have is 0/255 on the left, 127/255 in the middle, and 255/255 on the right. Sampled in gamma (sRGB) space that 127/255 is indeed going to be a linear value of ~0.2, but if sampled in linear space it’s ~0.5. It’s a quirk of the human visual system and computer displays that a value of “~0.2” appears half as bright as “1.0” But you’re not using this gradient to display it as a gradient, you’re using this gradient to be texture UVs.
The short version is you’re using that gradient as data, not color. Data should almost always be linear because you want 127/255 to be 0.5. Color should be sRGB because you want 127/255 to be perceived as half as bright as 255/255.
The difference between linear and gamma space render is in gamma space all textures are sampled as if they’re linear because the frame buffer itself is in gamma space. A value of 127/255 in the frame buffer will be displayed as ~0.2, so the textures don’t need to be sampled in gamma space. The sRGB flag on textures doesn’t actually do anything when using gamma space rendering as all textures are sampled linearly. The conversion between gamma and linear space only needs to happen when they’re different.