It must be a 14-bit ADC, it wouldn't make any sense to convert to 16 bit but only write 14 bits. Also 16-bit reading takes much longer than 14-bit.I'm not entirely sure Canon is using a 14 bit ADC. Their raw file might be 14 bit, but I've been mapping out their sensor response for the last couple of generations of their cameras (starting with the 80D) and even though it's raw, there appears to be a bit of a toe where exposure gently rolls off a little before settling into the noise floor. There's a couple of extra stops of visible information down there, though it's really noisy. The same goes for the upper end. The sensor stops being linear at ~10,000, and there's more tonal information encoded all the way up to 16383 that isn't linear. It appears that the ADC might actually be 16 bit and they're smooshing it into a 14 bit container.
Canon RAW files are know to contain that additional, "extra bit" of recoverable highlights despite the red channel showing its full capacity utilisation. (255).
In 14-bit raw files, the red channel, roughly speaking, will be between [0..16383]. There will also be a white point and black point values specified in the raw file that indicate where exactly the clipping occurs. The range of [blackPoint .. whitePoint] is then mapped to RGB, sRGB or whatever colour space you have in the editor and monitor.
So what you see in the initial jpeg preview or in the editor (including the red at 255) is a cconverted value into a much narrower colour space. Any so called 'highlight recovery' is just an application of a different conversion curve.