While working on adding unit test for getNewsletterSubscribersCount in T183808, I noticed that subscribers count is updated incorrectly in NewsletterDb::addSubscription and NewsletterDb::removeSubscription.
addSubscription supports adding multiple subscribers at once (param $userIds is an array of users IDs to add as subscribers). So it iterates over $userIds and adds rows to nl_subscriptions table.
After adding subscriptions, this function updates nl_newsletter table with updated subscriber count. Here is the problem: it increases number of subscribers by 1 even if there were more than 1 user in $userIds.
The same problem is with removeSubscription.
If I am right about this, then it should be fixed. Otherwise there should be a comment explaining this behaviour in those functions.