Add() элементы не заменяет, так что если в инспекторе вечно одно слово, список где-то сбрасывается. Поищи по проекту
listOldWord = new и
listOldWord.Clear(), часто это сидит в Start/OnEnable или прямо в методе выбора слова, который дёргается каждый раз. Второй вариант: скрипт висит на объекте, который пересоздаётся (Instantiate, перезагрузка сцены), и список каждый раз новый. Проверка: перед Add() выведи
Debug.Log(GetInstanceID() + " " + listOldWord.Count);
. ID тот же, а Count снова 0 - значит Clear/new. ID каждый раз другой - значит пересоздаётся сам компонент.