Все гораздо сложнее, а и б это не физические таблицы а сложные запросы. Потом нужно найти объекты а которые пересекаются с буферами объектов б. Потом объекты а нужно обрезать по границам буфера вокруг б но уже другого.
Дистинкт прироста особо не дает по сравнению с вариантом EXISTS. Тут ещё и шляпа в том что формируется JSON с кучей информации в качестве описания объекта б.