One of those "Haha" moments...
XPathDocument has a constructor overload that takes an XmlSpace enum value. XPathDocument will ignore non-significant whitespace nodes if provided with no XmlSpace value or XmlSpace.Default To be able to select non-significant whitespace nodes, you need to pass XmlSpace.Preserve.
See : http://timoch.com/blog/2013/05/xpathdocument-and-whitespaces/