There is some sort of USB passthru. It might not be available on every platform (the passthru might be a separate Github project).
But if you get that actually working for a customer, that's Nobel Prize material :-)
While a lot of the easy-peasy Virtual Machine hosting is homogeneous (like x86-on-x86), QEMU should be able to do heterogeneous cases (arm-on-x86, x86-on-arm).
When we used Softwindows at work, that was x86-on-Sparc. And it was slow, because... the CPU only ran at 400MHz or so. Some of the staff got "PC-on-card" hardware, and their Windows capabilities on Sparc, ran at something more like a normal speed.
I think we used a floating license for Softwindows at the time, because normally people didn't run PC software all that often. You might get some advertising material (.doc) from a local salesman to print off, and that might take a few minutes of a license.
Performance:
Hobby level, brute force, heterogeneous 0.01x
Code loop translated, cached, heterogeneous 0.1x
Virtualbox (homogeneous) before they broke it 0.9x [5GHz processor feels like 4.5GHz]
This leaves quite a range of performances, and typically is why things like x86-on-arm are wheezing on you. There is more than one reason you don't want to do that, without training wheels on :-)
When I ran QEMU KVM on Linux, which is an "easy case", it took me all day, looking at various conflicting documentation, as to which CPU choice I should be using for "transparent" translation (as close to x86-on-x86 as you could get). There is a menu with a hundred items in it, and only two choices make any sense. And one of the choices is supposed to crash and stuff. Well, it didn't crash actually. So that is why it is Nobel Prize material, you get it working in spite of the docs.
Paul