Zunächst mal folgendes: Ich würde die Breite des Schutzstreifens nicht erfassen, weil sie faktisch nichts zur Sache tut. Warum? Der Radfahrer muss sowieso rechts fahren, da macht es keinen Unterschied, ob der Schutzstreifen 1m oder 2,5m breit ist. Die geforderten 1,5m Mindestabstand zum Autofahrer ist ja unabhängig davon, wie breit der Schutzstreifen ist. Das einzige, was helfen würde, wäre die Straße komplett zu meiden.
Wenn Du es trotzdem erfassen willst, halte ich :lanes
tatsächlich für das „korrektere“ Mittel, es steht auch „In principle every tag used to describe properties of a road can be extended by the :lanes
suffix when its value depends on the lane“. Prinzipiell kann man also jedes Attribut in:lanes
packen. Allerdings wäre das, wenn ich das Wiki hier richtig verstehe, in Deinem Fall sehr kompliziert, weil nicht so ganz definiert ist, wie sich das Lanes-Tagging bei nicht-Einbahnstraßen verhält, weswegen man künstlich welche über :forward
und :backward
erzeugt:
bicycle:backward:lanes=no|designated
bicycle:forward:lanes=no|designated
cycleway:both=lane
cycleway:both:lane=advisory
cycleway:backward:lanes=no|lane
cycleway:forward:lanes=no|lane
lanes=2
lanes:backward=1
lanes:forward=1
vehicle:backward:lanes=yes|no
vehicle:forward:lanes=yes|no
width:lanes:backward=|1.2
width:lanes:forward=|1.2
Mag sein, dass das sogar immer noch falsch ist, aber klar ist: Das ist unsinnig kompliziert für das, was Du ausdrücken willst. Wie das ganze :lanes
-Tagging insgesamt bei leider vielen Fällen 
Also konkret zu Deinen Fragen:
Ja, Du musst sie allerdings über cycleway:lanes=*
definieren. Nur bei lanes=*
werden sie nicht mitgezählt.
Das wäre besser auswertbar für Router, ja. Ich vermute auch, dass abseits von turn:lanes
die Lanes momentan einfach viel zu kompliziert sind, um ausgewertet zu werden, aber ich hab den Quälcode noch nicht studiert. In Deinem konkreten Fall könnte zumindest für einen Fahrradrouter ein cycleway:both:width=1.2
wesentlich vorteilhafter sein als :lanes
. Ich wüsste allerdings nicht, was ein Router mit der Breite eines Schutzstreifens anfangen sollte. Soll er vermeiden, auf der Fahrbahn zu fahren? Warum ich das für einen Trugschluss halte, habe ich bereits ganz zu anfangs geschrieben. Bei einem physisch getrennten Weg wäre das etwas anderes, weil manche Fahrräder dann dort unter Umständen gar nicht fahren können, weil sie zu breit sind. Auf der Fahrbahn gibt es dieses Problem allerdings nicht.
Du kannst mit class:bicycle
arbeiten, um grundsätzlich Strecken unattraktiv zu machen. Manchmal ist das tatsächlich die einzig sinnvolle Lösung. Und eben auch eine der großen Stärken von OSM: Ein(e) Ortskundige(r) rät von der Benutzung einer objektiv guten Straße ab, weil sie/er weiß, dass sie für Fahrradfahrende schlecht/riskant ist. Das kann man sogar zeitlich steuern über :conditional
, wenn man nur den Berufsverkehr ausnehmen will.
Ich hoffe, ich habe nicht noch weiter verwirrt. Und nur zur Klarstellung: nur weil ich die Breite eines Schutzstreifens für uninteressant halte, heißt das nicht, dass Andere das genauso sehen. Und ich wäre mir auch nicht sicher, ob das noch als lanes=2
zählt, weil die Markierung entweder entfernt wurde, oder zu stark abgefahren ist. In diesem Fall würde ich das mit dem Lanes-Tagging besser ganz vergessen.