Yearly total is taken from activities.
Total is the value Zwift store on your account.
Sometimes when your game crashes or you discard an activity the distance/elevation data is not saved to your account.
There may be a Zwift bug right now preventing the totals from updating since last update.