ProtocolBinding in AuthnRequest indicates how response should be delivered, not how the request is being delivered.

Saml2Client.prepare_for_authenticate() needs to distinguish between
the request binding (how the request will be delivered) and the
response binding (how the response should be delivered,
indicated by ProtocolBinding in the request XML).