Today we learned that DynamoDB has a per-item storage overhead of at least 100 bytes (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/CapacityUnitCalculations.html). Depending on your item size, this can significantly increase your storage costs. And, conveniently, AWS Calculator doesn't account for this at all. Nor does the DynamoDB web UI or command line include the overhead in its reported table sizes, leaving it up to the payer to have scrutinized every line of the DynamoDB documentation and added the overhead into their storage calculations.
In our case, our items are around 37 bytes, so that's a good 2.5-3x increase in costs that jumped out of the bushes and startled our camels.