По поводу стр 129.
Там не только в отступе (marginTop) borderTopWidth надо учитывать, но и paddingTop.
как то так должно быть
const {borderTopWidth, paddingTop} = getComputedStyle(this, null)
buddy.style.marginTop = (parseFloat(borderTopWidth) + parseFloat(paddingTop)) + 'px'