É um recurso do driver MongoDB. Ele não aceita First() simples, ele precisa de algo por trás dele. Isso foi o que eu vi por depuração. Portanto, você deve continuar trabalhando com First()... ou pode consultar seu json diretamente:
var result = collection.Aggregate()
.Group(new JsonProjectionDefinition<People>(@" {
'_id': '$Name',
'docs': { '$push': '$$ROOT' },}"))
.Project<TopOne>(new JsonProjectionDefinition<BsonDocument>(@"{
'top_one': {
'$slice': ['$docs', 1]
} }"))
.ToList();