It was not always so. See https://emojipedia.org/pistol "Originally depicted as a classic handgun, as a revolver or other pistol. In 2016, Apple switched its design from weapon to toy; other major vendors followed suit by 2018. Deprecated emoji sets or smaller platforms still display the emoji as a handgun."
In fact, it does not appear to be unicode's error. Look at https://www.unicode.org/charts/PDF/U1F300.pdf (Unicode 16) where it describes the emoji in question 1F52B as "PISTOL = handgun, revolver" and furthermore (at least in Firefox's display of the PDF) it looks like a Beretta 92! This is an error of presentation in several implementations, not an error in the spec.