The "upstream" attribute is only used when the project also has a "revision" attribute and the revision is a sha1.
Please refer to the description in docs/manifest_format.txt in the git-repo project:
Attribute `upstream`: Name of the Git branch in which a sha1
can be found. Used when syncing a revision locked manifest in
-c mode to avoid having to sync the entire ref space.