As consultas no MongoDB não retornam subdocumentos (ou, como no seu caso, subdocumentos de subdocumentos). Eles correspondem e retornam os documentos da coleção. A forma dos documentos pode ser um pouco alterada pela projeção, mas é limitada. Se você deseja encontrar a tag mais recente com frequência, provavelmente deseja fazer com que seus documentos representem tags. Ter um array em um array geralmente é uma má ideia no MongoDB também.
Se esta for uma operação incomum e que não precisa ser particularmente rápida, você pode usar uma agregação:
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" } } }
])