As you can see I have only gotten 439 likes yet I have given out 1.6K likes. Why did I get this badge if I have not received 500 likes? The badge says you earn it when you have 500 liked posts. Well obviously I do not because I only have 439 likes received.
The reason is what was stated above. Sometimes you may like something that ends up removed or unlisted. The numbers are correct as an “all time” for badging purposes where as the numbers you see may be active topics only.
Like they have said before the numbers you see in public are visible ones. You could have had posts deleted or a topic closed that still counted towards the badges. Your admin stats will show all and that is what the badges go off of.
The morale of the story is to not worry about it. It is just how discourse does things and congrats on your badge.