Каждый символ читает как отдельный элемент
Так вот, если вывожу первый элемент
Console.WriteLine(newjson[0])
то выводит [ , то есть первый символ, а не элемент 3445839
Надеюсь понятно объяснил ситуацию, надеюсь найдется решение
var name_obj = JObject.Parse(s).SelectTokens("$.sales[*].product.id");
var newjson = JsonConvert.SerializeObject(name_obj);
Console.WriteLine(newjson);
Вывод: [3445839,3535492,3416840,3416139,3434839,3434805]