Mas, uma dúvida... o armazenamento no navegador faz parte do lado do cliente.

Se faz parte do cliente, ao checar no servidor se há algo no localStorage, a resposta sempre será nula, afinal, no servidor o localStorage não existe. Seria isso mesmo?

A pergunta não foi para mim mas acho que posso responder rs

Assim como você afirmou, no servidor não existe localStorage e mesmo se existisse concerteza não seria o mesmo do que o localStorage do frontEnd

Para isso existe os cookies, os cookies podem ser acessador pelo servidor, já que os mesmos são enviados na requisição https. Exemplo em PHP:

if(isset($_COOKIE["theme"])){
    $value = $_COOKIE["theme"];
}else{
    echo "Invalid theme";
}

Exemplo em nodeJS:

const express = require("express");
const cookieParser = require("cookie-parser");

const app = express();
app.use(cookieParser());

var value;

app.get("/",(req,res) => {
    if(req.cookies["theme"]){
        value = req.cookies["theme"];
    }else{
        console.log("Invalid theme");
    }
    
    //res.send(...)
});

//Iniciar servidor...
```
Valeu TiagoVel! Agradeço pela resposta. Obrigado pelos exemplos também.

Nao vi sua segunda dúvida a tempo. Mas é isso aí que o TiagoVel disse. Além, disso, é, alguns framework existem bibliotecas para integrar o armazenamento do navegador ao servidor. Para o NextJs há a lib Nookies, por exemplo.