The directories are defined in /etc/asterisk/asterisk.conf (and settable somewhere in the GUI under hidden settings I believe).
But there are are other places where a normal FreePBX system will write to, so I would leave the defaults as they are and “loop mount” from your usb stick over these directories:-
i always move /tmp into ram for other reasons but that also gets used by voicemail a lot and is better redesigned to be in ram as it SHOULD be ephemeral in nature over reboots for other nasty reasons.
Be aware that usb memory technology is also susceptible to degradation so make sure you keep a recent copy of the whole stick off site for when you need it.