The input was not CMYK. It is PNG which does not support CMYK.
The input image was grayscale created by
convert -size 256x256 gradient: -rotate 90 grad.png
Note that with green the darker part extends further to the right than in the red and blue results
Here are the same commands with
-colorspace sRGB added and using rgb colors:
convert grad.png -colorspace sRGB -fill "rgb(255,0,0)" -tint 30 red2.png
convert grad.png -colorspace sRGB -fill "rgb(0,255,0)" -tint 30 green2.png
convert grad.png -colorspace sRGB -fill "rgb(0,0,255)" -tint 30 blue2.png
convert grad.png -colorspace sRGB -fill "rgb(255,0,255)" -tint 30 magenta2.png
convert grad.png -colorspace sRGB -fill "rgb(255,255,0)" -tint 30 yellow2.png
convert grad.png -colorspace sRGB -fill "rgb(0,255,255)" -tint 30 cyan2.png
I am not sure that -colorspace sRGB changed the colorspace to RGB, so I modified the gradient as follows to get a colorspace RGB gradient. But the results are much the same.
convert grad.png -depth 8 \
\( -clone 0 -fill "gray(1)" -opaque black \) \
\( -clone 0 -fill "gray(2)" -opaque black \) \
-combine -colorspace sRGB grad2.png
convert grad2.png -colorspace sRGB -fill "rgb(255,0,0)" -tint 30 red3.png
convert grad2.png -colorspace sRGB -fill "rgb(0,255,0)" -tint 30 green3.png
convert grad2.png -colorspace sRGB -fill "rgb(0,0,255)" -tint 30 blue3.png
convert grad2.png -colorspace sRGB -fill "rgb(255,0,255)" -tint 30 magenta3.png
convert grad2.png -colorspace sRGB -fill "rgb(255,255,0)" -tint 30 yellow3.png
convert grad2.png -colorspace sRGB -fill "rgb(0,255,255)" -tint 30 cyan3.png
Perhaps the green channel is not being handled properly?
PS I get similar results with
convert -size 256x256 gradient: -rotate 90 -colorspace sRGB -fill "rgb(255,0,0)" -tint 30 red4.png
convert -size 256x256 gradient: -rotate 90 -colorspace sRGB -fill "rgb(0,255,0)" -tint 30 green4.png
convert -size 256x256 gradient: -rotate 90 -colorspace sRGB -fill "rgb(0,0,255)" -tint 30 blue4.png
convert -size 256x256 gradient: -rotate 90 -colorspace sRGB -fill "rgb(255,0,255)" -tint 30 magenta4.png
convert -size 256x256 gradient: -rotate 90 -colorspace sRGB -fill "rgb(255,255,0)" -tint 30 yellow4.png
convert -size 256x256 gradient: -rotate 90 -colorspace sRGB -fill "rgb(0,255,255)" -tint 30 cyan4.png
convert -size 256x256 gradient: -rotate 90 -colorspace sRGB -fill "rgb(255,0,0)" -tint 30 red4.jpg
convert -size 256x256 gradient: -rotate 90 -colorspace sRGB -fill "rgb(0,255,0)" -tint 30 green4.jpg
convert -size 256x256 gradient: -rotate 90 -colorspace sRGB -fill "rgb(0,0,255)" -tint 30 blue4.jpg
convert -size 256x256 gradient: -rotate 90 -colorspace sRGB -fill "rgb(255,0,255)" -tint 30 magenta4.jpg
convert -size 256x256 gradient: -rotate 90 -colorspace sRGB -fill "rgb(255,255,0)" -tint 30 yellow4.jpg
convert -size 256x256 gradient: -rotate 90 -colorspace sRGB -fill "rgb(0,255,255)" -tint 30 cyan4.jpg
So it is not a png issue.