RShell is a nice tool but the 'official' way to interact with a MicroPython device is with mpremote [1].
One of the key features of mpremote is that it allows folders to be mounted on your device from your PC.
For me, this allows a workflow that's even more efficient than using USB since no copying is required at all. Work on your PC (often using the unix port in a container [2] to test), then mount the folder and execute on the device. Brilliant. :)
I should probably write up how I use this workflow..!
It would be good to also allow USB volume mounting on more MicroPython ports (stm32 only) as - I agree - it's more intuitive for beginners. But LittleFS [3] is a much more robust filesystem than FAT, which is required for USB mounting. LittleFS is preferred by the core team and has had more focus recently.
[1] https://docs.micropython.org/en/latest/reference/mpremote.ht...
[2] https://hub.docker.com/u/micropython
[3] https://github.com/littlefs-project/littlefs