I mean this code here is 100% GIVING priority to Y-Axis inputs- as it is only going to branch TRUE if you are NOT pressing any Y-axis inputs, given that the inputs are digital and absolute.
X=1, Y=1 == F
X=0, Y=1 == F
X=0, Y=0 == F
X=1, Y=0 == T
So essentially, without looking TOO hard at the entire system, I can see here that you’re having an issue with, as you stated, Y-axis getting prioritized- and here this is hard coded to do so. This should be the focus first, as the inputs are controller based, not world-based, right?