It is totally normal to see unsubscriptions (opt-out = uninstall = deleted tokens) at the level of campaign analytics or globally on the days you send campaigns. Here are the three spots to track deleted tokens :
1 - Analytics > Reach tab
2 - Analytics > Audience tab
3 - Push > Campaign statistics > Undelivered
Indeed, on web push, we receive by return loop the unsubscriptions that took place between the sending of the last campaign and the campaign of the day. This loop occurs only once a campaign is sent. That's why you'll see deleted tokens only days when a push is made (as in the picture above).
So don’t read « the campaign of 20 January generated 29 opt-outs», but « between 10 January and 20 January ~ 29 opt-ins unsubscribed to web push ». Hence you should send campaigns regularly in order to clean your user base often.
About the ascent of deleted tokens:
on Firefox: the deleted tokens are sent to us each time an old opt-in connects to the website again, that's why we observe opt-outs even on days when no campaign is sent.
on Chrome: the deleted tokens are sent to us each time a new campaign is sent.
You can check out this article to learn how you can disable web push notifications.