The two other answers are good but don't explicitly address a (what I find to be) critical point: What the article mentions is not canvas fingerprinting (nor does the author state that it is canvas fingerprinting)!
Canvas fingerprinting is described in this paper. From the abstract:
We exhibit a new system fingerprint based on browser font
and WebGL rendering. To obtain this fingerprint, a website
renders text and WebGL scenes to a
<canvas> element, then
examines the pixels produced. Different systems produce
different output, and therefore different fingerprints. Even
very simple tests — such as rendering a single sentence in a
widely distributed system font — produce surprising variation.
I think you have a misconception about canvas fingerprinting given your statement:
My understanding from what I have read about this is that canvas fingerprinting gives your OS a unique fingerprint from you can be identified, and followed around the web.
The OS does play a factor in determining the a canvas fingerprint, but with so many other factors, including graphics card, graphics drivers, display, etc. it would probably not be possible to infer the OS from the canvas fingerprint (nor is that the point).
The technique used in the article, as stated is:
Normally, when an email contains an image, the receiver's email client has to contact the sender's email server in order to 'fetch' the image.
A 'fetch' being a GET request, which has useragent as a header, and useragent does indicate the operating system of the client.