negotiated Protocol Version
The protocol version actually in use after connection negotiation.
Before connection: matches MqttConfig.protocolVersion.
After connection: reflects the version that the broker accepted (may be MqttProtocolVersion.V3_1_1 if fallback occurred).
Reset on explicit connect calls; preserved across auto-reconnects.