XOR Gateway null check

My Condition Expression after a XOR Gateway is ${final_category != null}. It always evaluates to true although the type of the variable “final_category” in the Cockpit is “Null”. The task where the variable is set is an external task that is transmitting the variable with value null and type String.

What is the meaning of Type null in the Cockpit and why does it match the “!= null” check?
Why is a variable with type “String” and value null shown in the Cockpit as type null and not String and value null?