I do not think the answer is to decide whether or not to use DOM or Canvas. I use both options in my development depending on my work and I would like to keep this ability.
The DOM slows down when you have lots of small entities (like Particles or Animated Sprites) - because the DOM has to deal with Objects as opposed to just straight image data in canvas. And if you want to do Free-drawn/vector graphics - this is where Canvas shines.
I also do a lot of image tinting to give feedback to users in my games - DOM cannot do this without an extra sprite. Canvas does this easily.
Image manipulation in general is just better with Canvas - and it is more standard across browsers as opposed to CSS3.
Canvas in Crafty could definitely use some performance improvements: pre-rendering backgrounds/images/anything large literally improves Canvas performance by ~400%:
http://io-2011-html5-games-hr.appspot.com/#46 this specific slide (and the few after it) detail how Canvas actually can render "off-screen". this could be applied to Tinted Images, the Color component, as well as repeating-backgrounds (this is a major performance area) or just anything that is static and on the screen for a long time. UI cached in canvas is another example.
Canvas can also take advantage of WebGL:
https://github.com/corbanbrook/webgl-2d - I haven't tried this with Crafty but on other JS game engines - this improves canvas performance by some 20-30%. Perhaps a plugin could be created. Its really only a few lines of code to get this working.
I find it very odd that Canvas is slower than DOM in Crafty because with most other JS game engines, the opposite is true, at least when you get more objects on the screen.
http://www.themaninblue.com/writing/perspective/2010/03/22/ There are numerous benchmarks that show that when utilized correctly, canvas should be superior on the desktop. Canvas should also be able to get around 15-30FPS on iOS4+ but I cannot even get above 10 with Crafty.
And while DOM is faster at the moment, I believe it could also be improved. There was a post on github i think in the "mobile support" issue that details how DOM performance in Crafty duplicates screen-draws because of how the style elements are updated. Also the delta-based-time structure planned for future releases could potentially improve animation/fps if applied correctly.
TL;DR; Canvas should be faster, but for whatever reason in Crafty, it is slower. I suggest improving canvas before making any decisions about which to draw.