If I remember correctly it only happens with buttons right? Sadly I don’t think there is any way to get rid of this behavior. You would have to create custom buttons that used UserInputService, which can be tedious.
If the custom icon was about the same size as the basic one I think players wouldn’t mind it switching.
First, Create a ScreenGui with an ImageLabel in side of it adjust it to the size of your liking and image of your liking. (I set the ImageLabels position to something outside of the screens viewing)
Second, Create a local script inside of the ImageLabel and disable the default cursor by using