если рендеринг происходит на php, то localStorage лучше не использовать. можно заменить на куки(если селектов будет мало) или на сессиях. т.е когда происходит событие изменения селекта отправлять запрос аякс(fetch) и записывать в сессию данные и в зависимости от сессии рендерить селект
oelena, исходя из позиции мыши вы получаете элемент. если у детей отсутствует ul, то приходит null. т.е
ul>li>ul>li если ваша мышка на последнем li,то childrenUl будет null