Anything on any market can shift its price to the red or green. Tether and USDC are just tokens, so if there is enough sell pressure and not enough liquidity, the price on an exchange can jump to something else than $1. They are not fixed at a static $1.
It's actually almost never exactly at $1 and the reason why it's immediately pegging back to $1 is because there is an arbitrage opportunity, assuming there is enough backing so that in the worst case the custodian would just buy back the tokens for exactly $1, no matter what the market price is.
Seeing USDT at 0.97 temporarily doesn't mean much more than there is an insane amount of money exiting right now. One exchange can quickly fall to something like 0.97 if there is not enough buy power closer to $1