Respostas:
Você não pode.
Isso ocorre por design. O OpenGL (e versões mais antigas do DirectX) foram projetadas nos dias em que aplicativos em janelas literalmente compartilhavam o mesmo buffer de quadro. Isso significava que, se você tivesse duas janelas sobrepostas, as janelas tentariam usar exatamente os mesmos pixels dos buffers de cor, profundidade e estêncil. Os sistemas de janelas tratavam disso por meio de uma operação de máscara codificada.
Em outras palavras, você não possui o buffer de profundidade padrão, não pode alterar o buffer de profundidade padrão e não pode ler com segurança o buffer de profundidade padrão na API do OpenGL.
Sua melhor aposta é fazer toda a sua renderização em um FBO e, em seguida, usar uma textura para obter a imagem final no FBO padrão.