bson.M is map[string]interface niet slice. En je hebt []interface nodig voor "$slice".
o1 := bson.M{"$project": bson.M{"user": bson.M{"$slice": []interface{}{"$user", 2, 1}}}}
Als je wat dummy-gegevens, input en output deelt, kan ik je verder helpen.