This also seems like it hinders extensibility.  Any other languages that work similarly can't be fully implemented without changes here and in to TokenUtils.getModeAt().  The TypeScript extension seems like a perfect example -- the "typescript" mode is actually just a reconfigured "javascript" mode, so I bet all its tokens will read as JS without hacking core.

Seems like we should file a bug at the very least.  And make sure this is captured in https://github.com/adobe/brackets/wiki/Language-Support.