NVMe would be rather complicated to implement. It has several levels of indirection: create an “admin” command queue in the host memory, tell the device where is it, populate it with command descriptors, ring the “doorbell”, device processes the queue via DMA. And to do an actual bulk transfer you need to use an admin command to create another queue (“submission queue”) to which you can post reads/writes finally. Plus various device information requests. For example, iPhone’s embedded NVMe has a dedicated Cortex-R handling the host comms.
It would be much better to work the other end - make an USB-NVMe enclosure controller to talk some simpler protocol over PCIe, but those manufacturers (JMicron, ASMedia, Realtek) would never release an SDK for their chips.