Every ticket was sold for both Calgary and Edmonton, but a lot went unused, especially for the non-premium contests. They were asking people who weren't able or interested to attend individual games to donate the tickets back so others could use them.
The IIHF is one of very, very few organizations that use turnstile count for the published attendance. You can see what the figures were for individual games in Calgary and Edmonton in the game reports at the bottom of this page:
http://www.iihf.com/channels1112/wm20/statistics/
When Calgary and Edmonton claimed the attendance record from Ottawa, they did so on the basis of turnstile count, not tickets sold/distributed. To put the brutal attendance in Montreal in context, Calgary had 7000 people show up for an 11AM relegation game between Latvia and Denmark on the classification day. Montreal can barely manage that figure for Team USA, and failed to come close for Finland-Slovakia.