Você precisa alterar o
pathFor 'post'
para passar a representação hexadecimal do ObjectId 52e16453431fc2fba4b6d6a8
em vez de ObjectId('52e16453431fc2fba4b6d6a8')
Tente algo assim
pathFor 'post' _id=this._id.toHexString
Depois de passar a string hexadecimal, você pode usá-la em seu roteador
return Posts.findOne({ _id: new Meteor.Collection.ObjectID(this.params._id)});