CSS Scoping says
The descendants of a shadow host must not generate boxes in the formatting tree. Instead, the contents of the active shadow tree gene
CSS Scoping spec author here.
The answer is actually, officially... undefined!
I didn't think about this interaction when I was writing the Scoping spec. I'll send an email to the list, and we'll figure it out. Almost certainly, we'll settle on whatever browsers currently do (which appears to be letting ::before/after work "as expected" even in shadow hosts).
Edit: The Working Group's response was unanimous - the current implementation behavior (::before/after do work on shadow hosts) is how it should be. I'll edit it into the Scoping spec shortly.