I guess using the excel read range the column is casted to string instead of number…so the filter is not working as expected and hence linq is working there as well as you are casting it to number in the query
The output of the Read Range activity is a DataTable variable that contains the data from the specified range in the Excel workbook. The DataTable variable has columns that correspond to the columns in the Excel worksheet, and the data type of each column is determined by the data type of the data in the corresponding column in the Excel worksheet.
Linq works because, in condition CInt(r("Column").ToString) < 0 that each DataRow object must satisfy in order to be included in the filtered collection. In this case, it checks whether the value in the “Column” column of the DataRow is less than 0, after converting it to an Integer type.