Quando parli di output buffering (php lo chiama output control) non dovrebbe interferire con i cookie perché funziona con output.
Con session_start (crea o recuperi) nel primo caso istruisci php a preparare un intestazione al cliente
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie
browser solo nella pagina successiva sarà presente e inviato dal cliente (così funziona http).
Devi rivedere il tuo codice al momento non è conforme.
Edit: Oppure potrebbe trattarsi di incoerenza delle funzioni native in contrasto con il codice (bug) , perché session_start scrive anche su file e Output buffering crea confusione.