Wire a USB MicroSD reader internally, it should be quite doable (of course never plug the USB in while the 3DS is turned on or you may have corruption)
USB OTG is a lot harder to do. Headphones are easy enough, you can wire an adapter internally. Controller support would need to have wires running to each button pad and you could probably use a Pi Pico or similar to accomplish the translation between USB host -> button inputs. But to support both through the same port, you wouldn't be able to use a simple audio adapter. Perhaps the Pi Pico is powerful enough to also act as a DAC for USB -> analog audio so it can accomplish both things. In any case it would not be a simple mod.
USB drives are probably not feasible, there's just no mechanism for connecting secondary storage to the 3DS, or mounting it in the software. And homebrew wouldn't know how to access it anyway. IIRC an adapter exists that allows you to plug a USB drive into a SD slot, but it's unstable with very slow data transfer rates and essentially useless, and even with an adapter like that, you wouldn't be able to use a SD card anymore. So the only way that it could work is by having a microcontroller handle both the USB drive, and the microSD, and merge the file systems, pretending to be a SD card to the 3DS so what the 3DS sees is the combination of both of their files. It's possible in theory but writing the code and making it all work reliably (and with decent speed) is a problem. This might be best done with a FPGA, I'm not sure if a Pi Pico could handle it. The PIO on the Pi Pico is powerful, but it only has 12 pins and you're already asking it to do a lot of things. I think asking it to do even more might exceed the capabilities. Any other microcontroller (that doesn't have an equivalent to PIO) would have no chance, they're only capable of connecting SD cards in the much slower SPI mode which is too slow for any significant data transfer.