Ok so after some investigation. I found that the ui elements that were behaving weirdly all had functions bound where the value is retrieved based of a local variable (to the widget). When i tried changing the default value of the variable and then building i found that the default value (even though it should have been changed inside the widgets initialization) was the value being shown (not the default value of the text or proper return from the bound function).
What i also found were the elements in the same widget whose values were based of variables inside another blueprint entirely (in my example, gamestate) would work properly