I am currently writing some code to interface the CH376 with my 65816 SBC via Software SPI over a 65C22.
you can easily get one of those chips as a module on sites like amazon. but those use a 3.3V regulator to power them meaning the IO is 3.3V as well. so you need to desolder the regulator and bridge the left and center pads to have it run at 5V with 5V IO.
anyways the chip has some quirks, like only being able to set the file pointer and not read it out, and file paths having to be split up into their individual directories, which you then need to manually open one after the other. plus the port doesn't regonize any devices plugged through a USB Hub, so if you want multiple USB Devices you would need multiple chips.
but other than that it's pretty simple to work with and gives easy access to FAT32 formatted USB Drives.
though i had no idea the chip can also be used for HID, maybe i overlooked that in the datasheet?
another option would be using an off-the-shelf microcontroller (i know the CHxxx chips are just USB capable micrcontrollers, but the firmware is fixed), and use some existing software, or even write something custom.
for example the PIC16F1455, it's less than 3 USD per chip and has a built-in USB 2.0 host controller without needing an external crystal. the 14 IO pins are more than enough to build an SPI Interface with some spare pins for signaling (like interrupts, or a reset/abort input).
the main downside of the chip is the tight memory. 1kB of RAM and 14kB of Program Flash. fitting an entire FAT32 file system, HID handler, and potential USB Hub support in that would be pretty difficult!
there is also the STM32F105R8x6, a more expensive than the PIC (~6-7 USD) but you get 64kB of RAM and Flash, it runs at 3.3V but has 5V tolerant IO so no level shifting required.
Mouser links:
PIC16F1455PIC24FJ256GU405 (forgot to mention this one, just as cheap as the STM32 but with waaaay more Flash and RAM, seems worth looking into)
STM32F105R8T6i think i might get myself that PIC24 (if i can find out how to program it) or one of those STM32's, put it on a custom board and see how difficult to write and space consuming an USB Interface would be.