Сначала создается Clusterer, в который будут добавляться Placemark.
Обработчик вешается на событие boundschange
Ymap.events.add('boundschange', this.handleChange);
Далее делается выборка по объектам
const query = ymaps.geoQuery(this.geoPlaceMarks);
const visibleGeoObjects = query.searchInside(mapInstance);
Далее фильтрация что добавить, что удалить из кластера
const geoObjectsToRemove = this.geoPlaceMarks.filter(({ properties }) => ids.some(id => id !== properties.get('id')));
const geoObjectsToAdd = this.geoPlaceMarks.filter(({ properties }) => ids.some(id => id === properties.get('id')));
clusterInstance.remove(geoObjectsToRemove);
clusterInstance.add(geoObjectsToAdd);
Может кто знает способ получше?