Any idea what I'm doing wrong?

Often the best way to get the actual result at the time of… is unfortunately a print string… itd be interesting to see if before the branch you get false and then off the true statement if it prints out false…

Display names shoudnt really change, but pure nodes ( the green ones ) will re evaluate for everything that reads them… so its possible that encapulating that bit of the code into a function with a local variable that it sets before returning it would make your debug view be accurate again… but setting some variable or a print string should make the debug become accurate again or reveal that its just pure nodes doing there thing…

Id probably switch to using gameplay tags like Everyone recommends