Коль желающих помочь не нашлось, сам решил и сам же отвечаю на свой вопрос.
Проблема была в:
- Нулевых размерах скрытого элемента (неожиданно!)
- Деформации блока при соприкосновении с правым/нижним краем
Решилось все довольно велосипедным алгоритмом:
- Задаем элементу opacity:0.
- Откладываем вычисления при помощи setTimeout(fn,0) и даем Polymer'у "показать" его.
- Вычисляем координаты для уже видимого, но еще прозрачного элемента.
- Не забываем добавить margin (я взял 25px).
- Присваиваем элементу opacity: 1;