Non sono un genio della OOP, comunque 'a senso', sì, credo di sì.

Singleton è per condividere una classe in modo comune.

Di conseguenza, a seconda di come la usi, le proprietà sono disponibili senza istanziare l'oggetto ma ovviamente sono 'condivise' (è una condivisione a livello di Scope del codice PHP comunque, non a livello di esecuzioni del WebServer)

Nel caso però il codice venga eseguito da utenti diversi e richiami la classe singleton ognuno nel suo codice.... beh credo non ci siano problemi.
Il singleton riguarderà quella specifica esecuzione di codice e non tutto il portale.
Quindi se imposti l'id_utente per esempio avrai quell'ID disponibile ovunque nel codice richiamando la singleton, senza dover instanziare l'oggetto Utente.
Però quei valori saranno impostati ad un certo valore solo in una certa esecuzione del codice.

Un altro utente si imposterà altri valori su un'altra esecuzione del codice che, anche se c'è un singleton, sarà completamente separata da quella di un altro utente.

Bisogna vedere come scrivi il codice.

Ma in linea di massima otterrai le proprietà e i metodi a livello di classe anzichè a livello di oggetto, e non dovrai instanziare niente.
Ma per due utenti che eseguono separatamente il codice non dovrebbe esserci condivisione di informazioni.

Disclaimer: questo, se ho capito qualcosa e se non sto dicendo cavolate (com'è probabile)!

PS - Scusa la logorrea prolissa
.... e l'estrema ridondanza