Ah see I can explain the 2 sizes smaller thing. Half Vinted's fault, half the clothing industry's fault.
You get two ways to list a size - a single number (e.g. 6 years, 116cm) or a range (5-6 years, 110-116)
In the UK, a range of age is standard (5-6 years) But after 24 months, Vinted for some inexplicable reason, possibly because they are incorrectly following US sizing norms for the UK, use single years as their category. Therefore, if you have something that is 5-6 years, should you list it as 5 years, or 6 years? It could be a 50-50 guess, but most people if they had to pick one would pick 5 because that feels the most logical.
In most European countries, a single height measurement is standard (116). However, vinted use a range as their category. So if you have an item that is size 116, should you list it as 110-116, or 116-122? Again, 50/50, but most people assume that 116-122 is correct, because it feels like size 116 should mean "from 116cm".
Then comes the real stupid thing - the clothing industry at some point in time when figuring out standardised sizes has decided to do the exact opposite of what would be logical. 5-6 years is the same size as 116cm, which means 110-116cm, which means a single number is the larger in the range and means "up to" not "from".
So 80% of people on Vinted naturally aren't familiar with the discrepancy between EU and UK clothing sizes and tend to pick the wrong option when uploading/searching because it feels logical to them. Therefore when you search for "6 years/110-116" clothing, you end up with everything from size 110 (4-5) all the way up to 6-7, even though nobody has deliberately listed wrong.
Always photograph or mention the actual size from the label in the listing. If it fits big/small for the size, choose the smallest to list as and write this in the listing. Only buy a size or two ahead so it doesn't matter if it's smaller than stated and/or look for a photo of the label and/or a stated size in the description or message the person and ask "Is this 4-5 or 5-6?"