This is expected as most modern storage arrays have space saving technologies. These savings are invisible to the hosts and vCenter, and are therefore not accounted for at that layer.
Some examples of these technologies:
Thick provision - lazy zero
Zero block discard
Deduplication
Compression
If you are concerned that these numbers are inaccurate, compare the total file usage shown by "du" to the output of "df". These will not be identical, but should be close to each other. This can then be compared to the host UI and vCenter display.