Не получается: проверить события самого элемента - это первое что я подумал, но у оверлея в отличии от геообьекта нет события pixelgeometrychange, есть только geometrychange, которое не вызывается при зуме карты и похоже означает что-то другое.
Я хочу чтобы при смене зума не пропадали оверлеи, созданные через пиксельную геометрию.
Возможно эту задачу можно решать как-то по другому, но из комментария chalyu я понял, что надо отслеживать событие pixelgeometrychange и после зума заменять геометрию у оверлея на отресайзенную.
Но попробовав это реализовать я столкнулся с вышеперечисленными проблемами.
В ответе рассматривался случай, когда оверлей является отображением геообъекта. Если у вас просто отдельностоящий оверлей, то ему надо руками перезадавать пиксельные координаты при изменении зума карты.