That is simply due to the major difference how VMs and CTs work and expected to work like that.
For VMs, the device is passed through as a whole, e.g. the operating system has to load its own drivers etc.
For CTs, the device drivers are loaded by the (hypervisor) host, these then create certain device interface (character) files, which then can be passed to a CT.