That looks like you probably have some faces with flipped normals in there for some reason. You can check for that by setting Face Orientation in the Overlays:
Select the faces that show red on the outside and go to Mesh → Normals → Flip. Then your bevel should work as expected.
If you ever have a lot of red faces, it’s faster to select all and then do Mesh → Normals → Recalculate Outside.
This is my standard “cause #3 for weird stuff happening”. (Cause #1: scale not applied, #2: extraneous geometry present, usually from aborted extrusions.)
Actually, #2 could also look a lot like this. If you have extra vertices on top of only a few of the top ring, but you might have noticed that something was wrong already during selection. Still, if the normals are fine, select all, and do Mesh → Clean Up → Merge by Distance. That should get rid of the extraneous vertices.