I think either Williams or Dimaggio would have been a fine choice..their seasons are nearly identical in value. You have to remember a few things:
1) Dimaggio was better defensively, and also played a more important defensive position.
2)Williams had a pretty big home/road split, and so did Dimaggio. If we take their road numbers, it is a lot closer, but Williams still has an edge. (1,228 OPS compared to 1.123). I imagine a lot of managers would prefer a great fielding center fielder who can put up a 1.123 OPS as compared to a poor fielding left fielder who has a 1.228 OPS,.
3) More importantly, Williams' OPS+ is a LOT more walk heavy (147 walks compared to only 76 for Dimaggio). A stat I like to use in situations like this (when the players are playing during the same season, thus similar run scoring environment) is runs produced (runs+RBI- HR) per plate appearance. This effectively gives the walks their proper value, since walks almost never result in RBI, and yet often lead to a run. Williams had 606 PA and produced 218 runs, while Joe D had 622 PA and produced 215 runs. Again, Ted has the advantage, but it is pretty thin.