В итоге победил модифицировав вариант, где кнопки лежат на contentView и масштабируются вместе с самой картинкой(1 гифка).
Решение:
Подцепился через делегатный метод
-(void)scrollViewDidZoom:(UIScrollView *)scrollView
Там делаю трансформацию:
btn.transform = CGAffineTransformMakeScale(1 / self.scrollView.zoomScale, 1 / self.scrollView.zoomScale);
Думал что будет лагать, проверил на 100 кнопках - все работает идеально на третьей доске.
p.s. обновил репу