Mathematica, 6473
The next step up... instead of summing the character codes we treat them as the digits of a base-151 number, before taking them modulo 224.
hash[word_] := Mod[FromDigits[ToCharacterCode @ word, 151], 2^24]
Here is a short script to determine the number of collisions:
Total[Last /@ DeleteCases[Tally[hash /@ words], {_, 1}]]
I've just tried all bases systematically from 1
onwards, and so far base 151 yielded the fewest collisions. I'll try a few more to bring down the score a bit further, but the testing is a bit slow.