SqlStreamInput/Output use TransportVersion from a read-in Version constant. We need to remove the useage of `transportVersion` field
x-pack/plugin/sql/src/main/java/org/elasticsearch/xpack/sql/common/io/SqlStreamInput.java
public static SqlStreamInput fromString(String base64encoded, NamedWriteableRegistry namedWriteableRegistry, Version version)
        throws IOException {
        byte[] bytes = Base64.getDecoder().decode(base64encoded);
        StreamInput in = StreamInput.wrap(bytes);
        Version inVersion = Version.readVersion(in);
        if (version.compareTo(inVersion) != 0) {
            throw new SqlIllegalArgumentException("Unsupported cursor version [{}], expected [{}]", inVersion, version);
        }
        InputStreamStreamInput uncompressingIn = new InputStreamStreamInput(CompressorFactory.COMPRESSOR.threadLocalInputStream(in));
        return new SqlStreamInput(uncompressingIn, namedWriteableRegistry, inVersion.transportVersion);
    }
    private final ZoneId zoneId;
    private SqlStreamInput(StreamInput input, NamedWriteableRegistry namedWriteableRegistry, TransportVersion version) throws IOException {
        super(input, namedWriteableRegistry);
        delegate.setTransportVersion(version);
        zoneId = delegate.readZoneId();
    }
    public ZoneId zoneId() {
        return zoneId;
    }
    public static SqlStreamInput asSqlStream(StreamInput in) {
        if (in instanceof SqlStreamInput) {
            return (SqlStreamInput) in;
        }
        throw new SqlIllegalArgumentException("Expected SQL cursor stream, received [{}]", in.getClass());
    }
}