Welcome to the Forums.
I think all your calculations are correct.
The problem lies in the way that Tableau calculates its Grand Totals.In some situations, it works at a different granularity.
There are many threads about this, but not sure if there is an easy fix for yours.
Will continue reading throught.
In the interim, the easiest work around is to make a separate sheet with the totals
and put them together on an dashboard.
Here are some links:
286542grand.twbx 229.6 KB