The 921 vs 855 is likely because your database is slow, or has some replication lag. Right after the last images are sent to the database, EWWW checks to see how many total images were queued. It is entirely possible for the last batch of scanned images to not be included in the count if the last INSERT/UPDATE transaction is not completed in the database yet.
As for why the new scanner, there are a lot of reasons, but the main thing is a tradeoff between accuracy of the image counts and scanning speed. Overall, if you account for scanning time + optimization time, the new process should be faster. In your case, it probably isn’t a huge difference. On my server, with 40,000 images, the difference is staggering. It takes about a minute to scan that number of images. And then I only have a handful of images to process through the optimizer which might take 5-10 minutes, but worst case, if I had a thousand images like you did, it might take a half hour via the API. With the old process, it had to run through all 40,000 attachments, which meant 40,000 AJAX requests, and it took days, even when most of them had already been optimized.