I think possibly you're conflating "average" and "replacement level." He has had a below average bat amongst a pool of players all above replacement level.
Baserunning has added to his value as well.
Ultimately the market rewarded him with a 9 figure salary so while the stats may be off on the margins (maybe the RF positional adjustment ought to be -10 runs instead of -7.5, for example), it gets pretty close. At least, the market thinks so (in addition to fangraphs, etc).
correction- the bat has been above average (111 wRC+)