This is expected behavior, Enum.UserInputState.Cancel is passed to an action handler when that action is bound over. This is because you might want to reset some state when the action gets bound over.
For example, if Enum.KeyCode.F toggles the fly state and the keycode is bound over by the escape menu opening you might want to automatically check if the user is in freefall and if so toggle back on the flying state. This way the user won’t frantically be pressing F with the escape menu open trying to save themselves from falling to their doom but be unable to actually use the action. A less made-up example is stopping the user from walking forward when W is bound over.