bson.M è map[string]interface non slice. E hai bisogno di []interfaccia per "$slice".
o1 := bson.M{"$project": bson.M{"user": bson.M{"$slice": []interface{}{"$user", 2, 1}}}}
Se condividi alcuni dati fittizi, input e output, potrei aiutarti ulteriormente.