Ответ
При уменьшении слайса (например, через slice = slice[:n]) capacity не изменяется. Слайс — это лишь "окно" в базовый массив, и capacity отражает максимальную длину, которую может иметь слайс без переаллокации.
Пример:
s := make([]int, 5, 10) // len=5, cap=10
s = s[:3] // len=3, cap=10 (capacity осталась прежней)
Однако если уменьшать слайс через append или копирование в новый массив, capacity может измениться, так как создается новый базовый массив.