Since the layout acts as a global wrapper and is not automatically invalidated by inner page commits or refreshes, the notification counter should be treated as session/global state rather than page state.
“Refresh in client” only updates widgets that directly use the committed object. If the layout badge is not bound to that same object context, it will not refresh automatically.
As a solution, I recommend using the Events widget from the Mendix Marketplace:
https://marketplace.mendix.com/link/component/224259
This ensures that the notification count remains up to date regardless of which page the user is currently viewing.
If this resolves the issue, please close the topic.