ОК, обнаружена проблема, кодеки по умолчанию в BasicDBObject не охватывают материал geoJSON. Не уверен, что то, что я сделал, правильно, но, похоже, работает.
@Test
public void test() throws Exception{
CodecRegistry cr = fromProviders(new ValueCodecProvider(), new BsonValueCodecProvider(), new DBObjectCodecProvider(), new GeoJsonCodecProvider());
codec = cr.get(BasicDBObject.class);
BasicDBObject dbo = new BasicDBObject();
dbo.put("name", "some-name");
dbo.put("location", new Point(new Position(100, 200)));
System.out.println(dbo.toJson(codec));
}