Hi Joao,
some things that you need for this to work :
as the change is happening inside a webblock, and you want to refresh something on the screen, your webblock will need an event to allow communication of the change to the screen. Every time user clicks addToCart button, you need to trigger the event. Also, you are now forcing a refresh of the whole screen by flowing to the home screen at the end of the AddToCart Action, that should be restored to a simple end node.

Widgets that you want to refresh with AjaxRefresh need to have a name. So give the webblock holding the cart count a name.

You have already defined an action to refresh the header. For every instance of the Cards webblock, you will have to set that as the handler action of the changed event.

And inside that action, you are currently not doing anything yet, you will have to add the ajax refresh there.

I can't really test if that is all you need to change, as we don't have your core module, but this should bring you a lot closer to what you are trying to do.
Dorine