I think the only strange thing is that the Object Data Properties do not update:
After the different scaling operations you mention, you ‘d expect the original Curve back:

In stead you get this:

The difference between the two Curves (scaled and original) is the Radius of the points. So somehow the Radius affects the Bevel and Extrude. This is probably not a bug, but the values for Extrude and Bevel should be updated, or not given as absolute measurements (meters/feet…).
The mentioned behavior is already quite ‘old’, at least 2.79 also worked like this:

All other points you mentioned seem expected behavior to me, but I might have overlooked something…