Generally speaking, there is many ways to do one thing.
On the use case you say :
UserWidget->AddedToViewport-> InputModeChanges
Usage of GAS & General mindset : The use case can be done that way too however GAS is generally speaking on off impulse activated classes. GAS better at gameplay actions however not so very good at long lived states and dependency graphs .
Still you can do this however you should think about if your game allows all sorts of menus that are interdependent to each other. If not this not something that you should lean on to. So rather than thinking about what menus do as input, we should be thinking about who authors the menus.
Also one step forward if menus going to have gameplay actions, this can be something like a card game, you draw a card and something happens (destroys all on board as example) if you have these type of interactions in gameplay yes GAS is something you want to utilize.
This can possibly done with gas or simply you can make a UIManager that makes simply tag detection and open closes menu’s as you wish.
Input handling though can be a simple function in some class, even player, something like EnableMouseLook() with a bStatus bool. You can simply call that in widget or UIManager to
OnConstruct- >EnableMouseLook(false)
OnBeginDestroy >EnableMouseLook(true)
In short for input vs menu a simple manager would be way to go however if you planning something as described with gameplay actions (It doesn’t matters you draw a card or swing a sword) GAS is way to go.
As example:
We have some cards on our hand. Each of them has ability assigned, have their own things, costs, effects, cues, tags etc. On the game board we will put one of these.
GA_Fireball
GA_DrawTwoCards
GA_DestroyAllMinions
GA_SummonCreature
GA_ApplyPoisonAura
UI->DragDrop->Card->TryActivateAbility(GA_DestroyAllMinions)->Commit(Costs/Tags etc) → BoardState(TurnEnd)
UI-DragDrop is just the intent not the gameplay result, player tries do something. End of its effects can be many things aswell as your input mode change for a duration. You can make a gameplay effect even changes input mode (GE_Stunnned : does input block, some post process maybe on camara manager, maybe some cue)
Since only you know your game you are the one who has to make decisions on “who authors what”