Можно не вычислять положение, а чуть изменить принцип и верстку. Позиционировать кнопку с помощью CSS в отдельном контейнере, скриптом перемещать в нужный контейненр.
<div class="filter-item">
<input type="checkbox">
</div>
<div class="filter-item">
<input type="checkbox">
</div>
<div class="filter-item">
<input type="checkbox">
</div>
<button id="apply-button">показать</button>
#apply-button {
display: none;
}
.filter-item {
position: relative;
}
.filter-item input:checked ~ #apply-button {
display: block;
position: absolute;
left: 100%;
top: 50%;
transform: translateY(-50%);
}
const button = document.getElementById('apply-button');
document.querySelectorAll('.filter-item').forEach(item => {
const cb = item.querySelector('input[type=checked]');
cb.addEventListener('change', () => {
if (cb.checked) {
item.appendChild(button);
}
})
});