Zwischenergebnis: Mit if else und Kram lassen sich die einzelnen ways aus dem JSON zu einem Polygon zusammenfügen (zwecks fill der Fläche nicht nur einzelne ways als Linien anzeigen).

@rainerU, ob XML oder JSON ist egal. Das ist nur ein anderes Format, die Daten sind gleich. Es werden alle nodes mit id aufgelistet und einzelne ways mit id sowie den zugehörigen node-ids, über die dann die coords zugewiesen werden. Das kann man sich wie zwei Tabellen in einer Datenbank vorstellen. Man macht einen INNER JOIN, ähnlich wie bei SQL.
https://www.w3schools.com/sql/sql_join.asp

Mit JSON tue ich mich in Javascript leichter. In JSON sehen die Daten so aus (URL komplett kopieren, dass funktioniert hier nicht mit anklicken): https://overpass-api.de/api/interpreter?data=[out:json];is_in(52.305130,13.813316);rel[boundary=administrative]admin_level=9;%3E;out;

Wie ich das gemacht habe ist schwer zu erklären, da sehr verschachtelt. Man muss beim ersten way anfangen, von dem dann das letzte value merken und in den restlich verbliebenen ways suchen und da dann weitermachen, aber, es kann sein, dass der folgende way rückwärts läuft, also vorher umkehren. Einen durchgelaufenen way-array anschließend leeren, damits nicht endlos läuft.
Und dann alles per Schleifen und in einer Schleife die way-nodes in den node-arrays suchen und die values (lat/lon) von da ins neue GeoJSON pushen. Ich hatte vorher alles gesammelt in neue arrays gepackt.

Da ich iwo gelesen habe, dass es auch borders mit way-Lücken gibt, wird mein Script nicht sicher sein.

@ikonor, Von dem osmtogeojson Script habe ich auch schon erfahren. Das soll wohl auch way-Lücken füllen. Werde ich evtl. mal antesten.