Nur für highway=motorway und motorroad=yes wird davon ausgegangen, dass die Straße kreuzungsfrei gebaut ist.
Bei highway=primary erwartet man (inkl. Entwickler von Routing-Software) in der Regel Straßen mit Kreuzungen.
Die wenigen kreuzungsfreinen Abschnitte sicher zu erkennen ist nicht wirklich trivial.

Für Autobahnen gibt es noch motorway_junction=* für den Punkt, an dem die Abfahrt von der Autobahn abzweigt.
Der dient vor allem dazu, der Ausfahrt eine Nummer (ref=) und einen Namen (name=) geben zu können.
Ob dies für das Routing ausgewertet wird oder ob es Vergleichbares für highway=trunk/primary gibt,
entzieht sich meiner Kenntnis.

HTH
Edbert (EvanE)