I'm talking about this: https://www.fangraphs.com/roster-resource/payroll/cubs
The big difference from what you typed out and what Fangraphs has is they are accounting for a proper number of roster days, like I said in my original post. Think of it this way, right now you're only counting a 23 man roster(the '40 man' piece in your 22 million is counting the MiLB salaries of the minor leaguers). You not only need to be a full roster, you need to be more than that.
For example, if Shota misses the season due a freak gasoline fight accident, he will still make his full salary towards the CBT. But they will still use all 26 roster spots so you'd need to add another league minimum salary to get to the actual amount they spent. This applies to all time spent on the MLB IL, which will add up to a handful of full-season roster spots. It's an estimate, they could be super healthy and use less or super hurt and use more, but when you think of how many days guys spend on the 60 day IL along with every 15 day IL trip, it adds up. Using Fangraphs' injury tracker, it looks like the Cubs had 1546 IL days last year, which is right about 9 minimum salaries' worth in addition to a 26 man roster.
So in addition to your 23 man roster plus player benefits/non-payroll stuff(which you have), you need to add about 10 league minimum salaries. That's the biggest difference. Also, you don't have Tauchman (+2.15 million), and your arb estimates for Steele(100k), Paredes(1.6 million), Merryweather(100k), and Pearson(200k) are lower than Fangraphs/MLBTR's. Which is the additional ~4 million to bring us down to 52-53 under the CBT.