An empty value is not comparable to a number by design. This helps detect unexpected empty values. However, because of that, a filtering condition must do type-checking first. Here are examples of correct expressions for your case:
IF not isempty([EC1]) THEN [EC1] <= 5 ELSE false()
Alternatively
if( isempty([EC1]), false(), [EC1] <= 5)
If you only need to select a few integers, I would suggest using the simple “Filter” action.