"Dream within a dream"
No. It's correct with 의. It's not very easy to explain, but 'X 속의 Y' means 'Y that belongs to the inside of X' or simplier 'Y which is inside X'
내 마음 속의 생각 - a thought in my mind
'마음 속' - is a single entity in this case, the 'inside part of my mind'
의 is a possesion indicator. 생각 - thought
A thought belongs to the insideness of my mind. Less literally: The thought is in my mind.
Note that it's not a proper sentence since it lacks a verb. It's just a word structure.
Frankly speaking, Koreans don't care much about spacing rules, so you often gonna see it written both ways. However, when to comes to official rules, in North Korea there should be never any space in front of 속 (꿈속, 마음속, 산속...). In South Korea it depends on the context AFAIK. I can't really tell you more than that. But as I said, you are going to see it written both ways in both Koreas anyways.
The literal translation would be "a dream during the period during which one dreams". First of all, 속, 밖, 위, etc. are nouns, whereas inside, outside, over etc. are prepositions or adverbs. Naturally when one wants to translate those with the correct parts of speech, they usually get unnecessarily long. Probably it is best to remember 꿈속의/꿈속에서 as within/in a dream as a whole, and 꿈속 as its nounal counterpart.