Puoi avere il tuo metodo post che accetta un HttpRequestMessage per bypassare la logica di associazione del modello e puoi leggere direttamente il contenuto della richiesta:
public HttpResponseMessage Post(HttpRequestMessage req)
{
var data = req.Content.ReadAsStringAsync().Result; // using .Result here for simplicity...
...
}
A proposito, il motivo per cui l'azione eseguita in JObject non funziona è a causa di 'ObjectId("...")' che viene utilizzato come valore di "_id" nei tuoi dati...