Você pode ter seu método post que recebe um HttpRequestMessage para passar a lógica de vinculação de modelo e pode ler o conteúdo da solicitação diretamente:
public HttpResponseMessage Post(HttpRequestMessage req)
{
var data = req.Content.ReadAsStringAsync().Result; // using .Result here for simplicity...
...
}
A propósito, a razão pela qual a ação que toma em JObject não funciona é por causa de 'ObjectId("...")' que é usado como o valor de "_id" em seus dados...