Well, in theory you may have conflicts in the bucket.
And recovering the bucket means a round-trip to memory, which is much more expensive than running over a list.
And in any case, "n" is the length of the word, but has nothing to do with the distribution of the dictionary. So one should use a "m" to capture that.