"My dream is not a dream."
Translation:Mein Traum ist kein Traum.
Das ist richtig! Kein negates nouns preceded by the indefinite article, or nouns preceded by no article (but can be preceded by adjectives). Nicht negates nouns preceded by the definite article or by possessive adjectives. Nicht also negates anything that isn't a noun (verbs, adjectives, other parts of the sentence), and can also be used to negate a whole phrase.
Keinen would imply that the second Traum is an object, which means an action is being performed on it. It isn't the case here. The sentence is just stating that the subject IS NOT a different subject (Mein Traum ist kein Traum). It's a statement about the state of the subject (being) and not about an action being performed. So, the second Traum too is a subject.
I know you asked this question some four years back but I hope this helps you to understand better.