признаться, мне не понятно, в чем интерес данной задачи. Похоже на игру в интерпретатор: что верент этот код (и написан какой-нибудь треш).
Тем не менее, можно так поробовать
function isDOMElement(any) {
return any instanceof Node &&
(any instanceof HTMLElement ||
any instanceof HTMLDocument)
}
console.assert(isDOMElement(document), 'document')
console.assert(isDOMElement(document.body), 'document.body')
console.assert(isDOMElement(document.createElement('div')), 'document.createElement(\'div\')')
console.assert(!isDOMElement(Object.create(Node.prototype)), 'Object.create(Node.prototype)')