Похоже, что если на точке и полигоне населённого пункта не поставить полностью идентичные addr:region и addr:district, он начинает двоиться.
Например, RU-OVRV 1.105 и RU-KYA 1.271:
точка
.
В Зеленогорске улицы есть, в Зеленогорске Рыбинского района Красноярского края - нет.
Мне кажется, что логика “смотрим addr:district и addr:region на точке и на полигоне, в случае их полного совпадения считаем их относящимися к одному населённому пункту, в противном случае считаем относящимися к разным” порочна. Должно быть “если точка населённого пункта находится вне одноимённого полигона населённого пункта, смотрим addr:district и addr:region на точке; если точка населённого пункта находится внутри одноимённого полигона населённого пункта, смотрим addr:district на точке, если addr:district на точке нет, смотрим на полигоне, смотрим addr:region на точке, если addr:region на точке нет, смотрим на полигоне, считаем точку и полигон относящимися к одному населённому пункту”.
По факту addr:region и addr:district на точке и на полигоне очень часто не совпадают - нужно учиться с этим жить.
addr:street=Вещево + addr:housenumber=1 - не находится поиском в RU-SPO 1.436.