.item
присваиваете высоту .hidden
. Там ещё label
рядом лежит, у которого своя высота есть + бордер + маргин. Замените 70 в расчёте h
на высоту лейбла + его нижний маргин, и логика будет правильной. А ещё лучше просто сделайте так: let h = parent.scrollHeight;