Olhando a documentação oficial:
"The web container evaluates the variable that appears in an expression by looking up its value according to the behavior of PageContext.findAttribute(String), where the String argument is the name of the variable. For example, when evaluating the expression ${customer}, the container will look for customer in the page, request, session, and application scopes and will return its value. If customer is not found, a null value is returned."
Ou seja, no caso de #{usuarioLogado != null} a container vai olhar na session se já existe essa variavel. E ela existe porque foi setada lá no managedBean.
Supondo que exista a variavel "usuarioLogado" na page e na session, então você teria que especificar qual váriavel você deseja acessar, com o prefixo sessionScope.
http://docs.oracle.com/javaee/6/tutorial/doc/bnahu.html#bnahw