It would be helpful if you filed a bug against the ShadowDOM Polyfill.
Fwiw, you can make your example work by unwrapping the div before sending to evaluate, like this:
document.evaluate('span', unwrap(div));
... but this is a workaround and will cause other problems. For example, any nodes you extract from the result will need to be wrapped before using in most cases (wrap(node)
).