Frågor i MongoDB returnerar inte underdokument (eller, som i ditt fall, underdokument till underdokument). De matchar och returnerar dokumenten i samlingen. Dokumentens form kan ändras lite genom projektion, men det är begränsat. Om du vill hitta den senaste taggen ofta, vill du förmodligen att dina dokument ska representera taggar. Att ha en array i en array är i allmänhet en dålig idé i MongoDB också.
Om detta är en ovanlig operation, och en som inte behöver vara särskilt snabb, kan du använda en aggregering:
db.modules.aggregate([
{ "$unwind" : "$svn_branches" },
{ "$unwind" : "$svn_branches.tags" },
{ "$sort" : { "svn_branches.tags.updated_at" : -1 } },
{ "$group" : { "_id" : "$_id", "latest_tag" : { "$first" : "$svn_branches.tags" } } }
])