My native language is Spanish, not Portuguese, but I'll offer my opinion because the languages are similar in so many ways.
In Spanish, we always say "soñé con" (literally "I dreamed with" but in meaning "I dreamed of") when speaking of a person or a character (a pet, a monster, etc.). We will also say "soñé con" when speaking of something that can be stated as a goal. For example, "soñé con ir a España" (I dreamed of going to Spain).
We say "soñé que" ("I dreamed that") when speaking of a situation, e.g., I dreamed that there was a fire, I dreamed that I went to the moon, etc.