Firebase searches are case sensitive. Since your key starts with an uppercase Y, the query only matches if it also does that:
ref.child("Team")
   .queryOrderedByKey()
   .queryStarting(atValue: "Yan")
   .queryEnding(atValue: "Yan\u{f8ff}").observe
I also queryOrderedByKey() to be explicit about what you want to order/filter on.
If you want to allow case-insensitive filtering, the typical approach is to add a property with the all-lowercase value to each team:
"Team": {
 "Yankees": {
    "teamNameForSearch": "yankees",
    "uid1": "name",
    "uid2": "name"
   },
"Angels": {
    "teamNameForSearch": "angels",
   "uid1": "name"
   "uid3": "name"
 }
Now you can search with:
ref.child("Team")
   .queryOrdered(byChild: "teamNameForSearch")
   .queryStarting(atValue: "yan")
   .queryEnding(atValue: "yan\u{f8ff}").observe
A final note is that both approaches only do so-called prefix matches: they find teams whose name starts with what the user typed. If you want a contains operation (as the title of your question suggests), you will have to look beyond Firebase for a solution. For more on that, see Kato's answer here: Firebase query - Find item with child that contains string