Done on a node or a way, it will return the parents of that node or way (as expected).
Done on a relation, it will return both the relation itself and it's parents.
If you want the parents only, you can do: (<<; - rel._;); instead.
This bug cannot be fixed without breaking the now expected functionality of thousands of scripts, but I believe it is important that the developer is made aware of the issue.
I have added a "Be aware" with testing examples at Overpass_QL#Recurse_uprelations(<<), as I believe we going to live with this behavior:
This bug cannot be fixed without breaking the now expected functionality of thousands of scripts, but I believe it is important that the developer is made aware of the issue.
Also posted at: Talk:Overpass_turbo#Unexpected_behavior_on_recurse_up_relations__(<<) [wiki.openstreetmap.org]
Was wrongly posted in tyrasd/overpass-turbo/issues/470 [github.com]