Чтоб хоть как-то заработало надо вспомнить что
width
задаётся в неких единицах измерения, а
offsetWidth
возвращает просто число:
border.style.width = link.offsetWidth + 'px';
Чтоб оно менялось при изменении размера можно добавить наблюдатель(нужен ie - использовать полифил):
let link = document.querySelector('#link');
let border = document.querySelector('#border');
new ResizeObserver(() => border.style.width = link.offsetWidth + 'px').observe(link);
Но вообще в 99% случаев масштабирование элементов решается вёрсткой .