Ты видимо недопонимаешь механизма xPDO. Сам xPDO н

Ты видимо недопонимаешь механизма xPDO. Сам xPDO ничего в базе данных не выбирает, у него нет какого-то собственного механизма прямого обращения к данным базы. xPDO формирует в итоге чистый SQL, и потом выполняет этот SQL-запрос к базе данных. Сделай так:

$c = $modx->newQuery('modResource');
$c->leftJoin('modTemplateVarResource', 'TemplateVarResources');
$c->leftJoin('modTemplateVar', 'tv', "tv.id=TemplateVarResources.tmplvarid");

$c->where(array(
    array(
        "tv.name"   => 'icon',
        "TemplateVarResources.value"    => "example-icon",
    ),
    array(
        "OR:tv.name:="   => 'isCosmos',
        "TemplateVarResources.value"    => "IS",
    ),
));
// Готовим SQL-запрос
$c->prepare();
// Выводим этот SQL-запрос
print $c->toSQL();

На выходе ты увидишь сформированный SQL. То есть что ты сам напишешь чистый SQL, что подготовишь его средствами xPDO — разницы никакой не будет. А какой результат будет возвращен, зависит уже от этого SQL-запроса, и не вежно сам ты его написал, или xPDO сформировал.