In a nutshell... it's totally representative of tons of things in CoffeeScript, in trying to:
a) make things easy for the programmer by removing JavaScript features and syntax
b) to make things easy, make various assumptions in ambiguous syntax situations about a programmer's intent
c) introduce no way to guess or predict which way CoffeeScript will act in "edge" cases like this, when assumptions conflict
d) not bother to document what happens in each edge case, or that there even is any kind of edge case at all -- indeed, to make it sound on CoffeeScript's home page / docs that everything is well-defined, when the reality is just an endless list of mysterious and unpredictable transpilation decisions based on internal undocumented CoffeeScript heuristics
I used CoffeeScript for a full year, and then was very happy never to touch it again. Going back to plain JavaScript might not be quite as concise, but the fact that the code always does exactly what you want it to, no surprises (as long as you know the language), let me program in peace again. With CoffeeScript, there's no way to ever feel like you "know" the language, because these kind of edge-case gotchas will getcha day-in, day-out.