Принимая ответ от на этот вопрос;Как бы мы изменили логику для выполнения "! StartsWith"?т.е. просто отрицание логического результата вызова выражения.
Чтобы создать логическое число, вы не можете использовать метод Expression.Not.
Expression.Not
Взгляните на msdn для примера:
Создает выражение UnaryExpression, которое представляет побитовое дополнениеоперация.
https://docs.microsoft.com/en-us/dotnet/api/system.linq.expressions.expression.not?view=netframework-4.7.2