Prior to T294164 (specifically this patch) Vector was not using all of core's checkbox hack JS implementation. Instead, we were using a no-js solution that spoofed aria-expanded status for checkbox hack buttons in Vector.
Now that we are relying on JS from core to provide this behavior, the expanded status is being announced twice. If we want to support the expanded status for no-js users in the future this could be made in core, or inside the new design system.
When accessing a dropdown button in a screenreader, it reads out "expanded" or "collapsed" only once.
This should mostly be deleting code inside Menu.mustache and MenuDropdown.less