This is a slightly later answer but I thought it still worth answering in case others stumbled across the same issue.
If you are not against migrating away from NCalc then I have created an alternative expression evaluation framework that was originally built to match NCalcs behaviour. It is called Expressive and is available on GitHub or NuGet.
While you can't yet write arrays directly in expressions you can supply them as variables. So to adapt your expression slightly you can supply the following and get the result you are expecting:
new Expression("[array] > 1 and 2 < 3 and 2 == 2").Evaluate(new Dictionary<string, object>()
{
["array"] = new int[] {1,2,3}
});