У меня вот так получилось в JOSM
[maxsize]
[timeout:900];
( node[place];
way[place];>;
rel[place];>;)->.a; /* all places in bbox */
( way(around.a:1000.0)[highway~"motorway|trunk|primary|secondary|tertiary|unclassified"];>;) ->.b; /* highways within given distance */
(
relation
(around.b:1000.0)
[place];>;
way
(around.b:1000.0)
[place];>;
node
(around.b:1000.0)
[place];>;
) -> .c; /* places within given distance from selected highways */
(.a - .c) ->.d; /* places outside given distance from any highways */
.d out meta qt;
Может не самый оптимальный запрос, но работает. Ищет все place, у которых на расстоянии 1000м нет ни одной дороги unclassified и выше. *_link и service обрублены сознательно.