Com o seu certificado letsencrypt, o CN (registry.mydomain.com), não corresponderá ao URL que você está tentando acessar ([swarm-ip]).
Duas soluções para você, você pode criar sua própria CA para gerar seus próprios certificados e confiar nela. haproxy.
Ou, você pode apenas dizer ao haproxy para não verificar o certificado:
server myserver [swarm-ip]:5000 ssl verify none
Com isso, o tráfego ainda será criptografado entre o haproxy e o back-end, mas não verificará se o certificado é válido. Isso significa que você ainda pode estar vulnerável ao MITM .
Se você decidir informar ao seu haproxy para não verificar o seu certificado, você pode usar qualquer certificado que desejar, mesmo que seja auto-assinado.