PsychPortAudio only lets me use sampling frequency 48000

That most likely means that your USB sound card doesn’t support those other sampling rates. 48000 is the most common one supported by hardware, followed by 44100, 32000 and multiples of those.

Some sound systems like macOS CoreAudio or Linux PulseAudio will pretend other sampling rates are supported and use software resampling from your rate to the actual rate at which the device is running. This is comfy, but also has various downsides like increased latency, reduced timing precision, and potential low level changes to your signal, e.g., additional filtering, phase shifts, etc. due to resampling / resampling artifacts.

The Windows WASAPI sound system used on Windows 10 for your settings will not support such non-native rates and bail. It is conceivable that the rates would work for reqlatencyclass 0 – high latency, no timing precision at all – as the MME sound system might do resampling.

In general I’d advice against using non-native sampling rates if you care about latency/timing precision/fidelity of the signal for optimal control over the output. Rather resample your signal in Matlab/Octave/Python from 2200 Hz to 48000 Hz, so you are in control of what happens at the output.

-mario