Have you tried using Spectrum Web Components yet to build your plugin UI?

,

I went back to first principles and forked the SWC React starter and lo and behold your code and this example worked as expected.
I’ve spent the last three hours trying to figure out why they don’t in my build and I’m pretty sure I’ve nailed it down to this:

If you import the matching SWC component it stops the sp- component from working.

This also seems to be the case with some others - so far I’ve found that ActionBar negates sp-popover or sp-overlay (or both, I haven’t tested that far yet).
I’ve only tested React SWC so I don’t know if this applies to vanilla SWC.