Não é possível acessar o membro protegido de outra instância do escopo do tipo derivado

Noesta resposta para a pergunta "Por que meu objeto não pode acessar membros protegidos de outro objeto definido na classe base comum?", pode-se ler:

Você pode acessar apenas membros protegidos de sua própria instância de classe base.

Ou eu não entendi direito ou oseguindo MCVE (ao vivo no coliru) prova errado:

struct Base           { void f(); protected: int prot; };
struct Derived : Base { void g(); private:   int priv; };

void Base::f()
{
    Base b;
    b.prot = prot;
    (void) b;
}

void Derived::g()
{
    {
        Derived d;
        (void) d.priv;
    }

    {
        Derived& d = *this;
        (void) d.priv;
    }

    {
        Derived d;
        (void) d.prot; // <-- access to other instance's protected member
    }

    {
        Derived& d = *this;
        (void) d.prot;
    }

    // ---

    {
        Base b;
        (void) b.prot; // error: 'int Base::prot' is protected within this context
    }

    {
        Base& b = *this;
        (void) b.prot; // error: 'int Base::prot' is protected within this context
    }
}

À luz dos dois erros, fico me perguntando: por que posso acessar outroDerived membro protegido da instância do escopo deDerived mas não pode acessar a outroBase membro protegido da instância do mesmo escopo, independentemente do fato de queDerived devora deBase? Tl; dr: o que fazprotected mais "privado" queprivate nesse caso?

Notas:

não feche esta questão como uma duplicata da questão vinculada;sugestões de títulos melhores são bem-vindas.

questionAnswers(1)

yourAnswerToTheQuestion