Title should have read IsNull and not Is Null. However interesting effect as you found out.
declare @x varchar(5)
Is the expression to be checked for NULL. check_expression can be of any type.
Is the expression to be returned if check_expression is NULL. replacement_value must have the same type as check_expresssion.
Keep in mind type is not varchar but the varchar(5). Many folks forget that.