Антон: Работа с событиями кластеров: https://tech.yandex.ru/maps/jsbox/2.1/object_manag...
Получить activeObject из события кластера можно как e.get('target').state.get('activeObject'). На изменения state можно подписываться через .events
В общем, всё оказалось гораздо проще. Если вы пропишете каждому объекту плейсхолдер контента балуна, то балун на нём можно открывать просто по objectManager.objects.balloon.open(objectId), не заботясь о том, находится объект в области видимости или нет. jsfiddle.net/vdsgbdm9/2