Hi, one thing that is blocking your inputs for FristPerson camera is that you use SetInputModeUIOnly. As the same says, only UI (widgets) can read your inputs. If you want a pawn or a character to read your inputs you need to set to to GameOnly or GameAndUI.
Yes, I meant exactly this. Something else that comes to my mind… is your BP_FirstPersonCharacter possessed by the player controller?
In level World Outliner you can find your BP_FirstPersonCharacter and in DetailsPanel there will be AutoPossessPlayer - set this to Player 0.
Or just call Possess directly from controller if you prefer.