Difference from yesterday's osm.org/changeset/167754914 is that this time i included nodes that were not part of any crossing-way. Overpass query:

[out:json][timeout:25];
{{geocodeArea:Helsinki}}->.searchArea;
// Step 1: Get all kerb nodes with only one tag
node[kerb][kerb!=no](if:count_tags()==1)(area.searchArea)->.kerbs;
// Step 2: Get motorvehicle roads and their nodes
way[highway][highway!~"footway|cycleway|path"](area.searchArea);
node(w)->.road_nodes;

// Step 3: Remove kerbs that are part of those roads
(.kerbs; - .road_nodes;)->.nonroad_kerbs;

// Step 6: Intersect with nonroad_kerbs
node.nonroad_kerbs->._;
out geom meta;
