Объяснение
Slice содержит указатель, длину и ёмкость. Несколько slices могут разделять массив. append при нехватке ёмкости создаёт новое хранилище, поэтому совместное владение может измениться после добавления.
Задача для самостоятельного решения
Почему изменение b[0] меняет a[0], если b=a[:2]?
Показать разбор ответа
Оба среза указывают на один массив. Для независимой копии выделите новый slice и выполните copy; присваивание заголовка slice данные не копирует.