Java definitivamente pode estabelecer uma conexão SSL sem um cliente validando a cadeia de certificados do servidor.
As classes que estão estabelecendo a conexão (classes javax.net.ssl) normalmente tratariam o certificado de servidor não verificado com suspeita e falhariam no handshake.
Mas eles fornecem uma maneira para o usuário dessas classes dizer "Tudo bem se o certificado do servidor não validar, vá em frente e estabeleça a conexão".
Isso é o que está acontecendo quando você diz VerifyServerCertificate=false.
A conexão SSL é perfeitamente válida do ponto de vista criptográfico, mas não é uma conexão autenticada porque você não tem ideia de qual é a origem do certificado do servidor.