C # Manipulando dados JSON

Eu tenho um cenário 'simples': ler algum arquivo JSON, filtrar ou alterar alguns dos valores e gravar o json resultante sem alterar a formatação original.

Então, por exemplo, para mudar isso:

{
  "type": "FeatureCollection",
  "crs": {
    "type": "EPSG",
    "properties": {
      "code": 28992
    }
  },
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              149886.192,
              374554.705
            ],
            [
              149728.583,
              374473.112
            ],
            [
              149725.476,
              374478.215
            ]
          ]
        ]
      }
    }
  ]
}

Nisso:

{
  "type": "FeatureCollection",
  "crs": {
    "type": "EPSG",
    "properties": {
      "code": 28992
    }
  },
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": 
            [
              149886.192,
              374554.705
            ]
      }
    }
  ]
}

Eu tentei JSON.Net por newtonsoft entre outros, mas o único que posso encontrar é:

leia em objetoescrever objeto para json

Mas estou sentindo falta da etapa 'alterar o objeto'. Alguma dica?

Atualizar

Aqui está o que eu tentei até agora:

JToken contourManifest = JObject.Parse(input);

JToken features = contourManifest.SelectToken("features");

for (int i = 0; i < features.Count(); i++)
{
    JToken geometry = features[i].SelectToken("geometry");
    JToken geoType = geometry.SelectToken("type");
    JToken coordinates = geometry.SelectToken("coordinates");

    geoType = "Point";
}

Mas isso só altera o valor da variável geoType. Eu esperava mudar o valordentro a geometria também. Eu preciso de uma referência, não uma cópia! Isso é possível?

Atualizar

Estou atualmente fora deste projeto, mas gostaria de dar meu feedback aos respondentes. Embora eu goste da simplicidade de Shahin, gosto da abordagem mais formal de L.B. um pouco melhor. Eu pessoalmente não gosto de usar valores de string como código funcional, mas sou eu. Se eu pudesse aceitar as duas respostas: eu faria. Eu acho que Shahin terá que fazer o devido com 'apenas' um upvote.

questionAnswers(4)

yourAnswerToTheQuestion