Это происходит потому, что первый элемент установлен user-select: none
. Из документации:
Текст элемента и его подэлементов недоступен для выбора. Заметка
что объект Selection может содержать эти элементы.
Однако этот элемент был явно добавлен в Выбор, поэтому он должен получить событие copy
. Браузер, увидев, что этот элемент недоступен для выбора, находит ближайший элемент, который можно выбрать, и отправляет событие туда.
Очевидно, исправление для этого надуманного примера - удалить user-select: none
.