Решил! delete не может удалить свойство из объекта, которое он унаследовал от прототипа.
На сколько я понял, delete не может удалить единственный элемент в объекте.
Поэтому я проверяю кол-во элементов и если кол-во = 1, то удаляю полностью localstorage, а если нет, то просто элемент с объекта и перезаписываю в ls