Попробуй со стороны фронта зашить данные в header заголовок, заодно middleware для обработки. А результат обработки успешно / неуспешно, храни в localstorage
Вот мне и интересно, можно ли получить эту инфу от инфу которую посылает браузер при запросе. А то варианты с prefers-color-scheme ориентируются на манипуляцию svg, а мне надо менять иконки полностью