У вас было две проблемы, у вас был дополнительный элемент .Elements ("пользователь"), который не был необходим
Вы также пытались применить предложение where к неправильному элементу
Вотисправленный LINQ, который возвращает результат в том же IEnumerable , что и ваш исходный
var xGood = from docVersion in doc.Root.Descendants( "document_version" )
where docVersion.Element("docVersionID").Value == vId
from d in docVersion.Elements( "stages" )
.Elements( "stage" )
.Elements( "approver_list" )
.Elements( "approver" )
.Elements( "user" )
select d;
. Заметное различие между этим LINQ и абатищевым состоит в том, что он будет поддерживать несколько узлов document_version в одном XML-документе