Incorrect response from Has Keyboard Focus

I have a User Widget which is a child of a Vertical Box. When I start up the parent widget, I have a small delay and then assign keyboard focus. The causes the On Focus Received event to fire (text changes colour and I print a message confirming it). I then have a player action which depends on that widget having focus (via a branch using the Has Keyboard Focus bool). This returns False! I’ve got another text colour change as well as a print statement hooked up to On Focus Lost, and this does not trigger between gaining focus and the player action attempt, suggesting the widget does indeed have focus (the blue debug box for keyboard focus is also on the correct widget). HELP!