ドキュメントが文字列IDで保存されている場合、コードは正しいように見えます。
IDは、16進エンコードされたオブジェクトIDのように見えます。オブジェクト識別子がオブジェクトIDの場合は、16進文字列をオブジェクトIDに変換する必要があります。
oids := make([]bson.ObjectId, len(ids))
for i := range ids {
oids[i] = bson.ObjectIdHex(ids[i])
}
query := bson.M{"_id": bson.M{"$in": oids}}