In case I wasn't clear, you're much more likely to need "at".
Ah that's interesting. One of those things that need someone who's actually put up a Christmas tree to answer. I haven't.I would always expect an angel to be on top of the tree because we usually (very inelegantly!) stick the top branch of the tree straight up its dress! We lower the angel down over that bit of tree, hence "on". However, my friends use a star and they stick it onto that bit of the tree with sticky tape. To describe that, I'd say it's at the top of the tree.
If you have a question about the English language and would like to ask one of our many English teachers and language experts, please click the button below to let us know: