Yes, klingons can see the difference, they just see them as detailed shades of a single color. Just as you can see the difference between forest green and olive green, but consider them both shades of green, or can see both sky blue and navy blue, but consider them both shades of blue. There are even human cultures and languages that also have just as few color categories as Klingon. The way I like to suggest students think of the colors is as warm and cool. So then Klingon has 4 basic colors: black, white, warm (which covers brown, red, and orange), and cool (which covers blue, green, and yellow). There are ways to be more specific about color, but unless a specific narrow shade is important, they usually just differentiate it as warm or cool.
Good description of how color words work in this video.
Here's a text article about it.
Klingons can probably see colors as well as we do. It's just that different languages break down various colors into different word-chunks.
In Japanese, I believe, they have separate basic words for what we consider blue and sky-blue. We English-speakers think of sky-blue as a shade of blue, and we don't have a separate word for it; Japanese-speakers think of it as a completely separate color, and how can those English-speakers think them as the same?
At the same time, in English we have separate words for red and pink, and we think of them as separate colors. If I showed my four-year-old son something pink, he would freak out if I claimed it to be "light red." It's pink! But there are languages in the world where what we call pink is to them just a shade of red, and they would call it their language's equivalent of "light red."
So it's not a biological ability to see different colors, it's how a language chooses to break those colors into words. If your language has fewer color words, you just consider more colors shades of an overall color.
Klingons think of blue, yellow, and green all as shades of the color SuD.