Must (re)reconnect external usb-c 4k monitor to get 60hz refresh rate - FW13 Intel 11th gen

I’m on Manjaro with GNOME 46 and I’ve installed all available updates. I’m running kernel 5.15.167-1-MANJARO, and BIOS version 3.17. My Laptop is a Framework 13, 11th Gen Intel® Core™ i-5.

When waking from suspend or otherwise connecting my 4k 60hz monitor (an LG 32UP83A) via usb-c, more often than not the refresh rate is limited to 30hz. I must disconnect and reconnect the usb-c cable multiple times until the 60hz refresh rate is recognized again. When it’s at 30hz, I am unable to change it to 60hz through the display settings and xrandr only reports 30hz for the external display (the primary laptop display stays at 60hz). I don’t see anything obvious in the journalctl logs.

Searching the GNOME GitLab, I don’t see reports of this issue, so I wonder if it’s a Framework-specific thing. I see posts about refresh rates here, but I’m not trying to use a high refresh rate, I’m not using an egpu, and I’m not running the BIOS version with excessive throttling, so this seems like a different problem.

The monitor is connected directly to the laptop via usb-c, and the cable has no problem at all with my work laptop (MacBook Pro), so it seems to be localized to the Framework laptop. After a while, it seemed like the usb-c expansion card I primarily used stopped allowing 60hz altogether, so I’ve since switched to using a different one (different expansion card, different slot), which is back to the previous behavior.

Maybe I have bad expansion cards? Or is there anything else I can test?

Update: it seems like I can rule out the expansion cards.
Until recently, I primarily connected my monitor through the port under the esc key. It was fine for a while, but because I can no longer get 60hz refresh through that port at all, I switched to using the port under the caps lock key, which is about 50/50 whether I get a max 30hz or 60hz refresh rates. I tried popping out and swapping the USB-C expansion cards of those two ports and I still get the same behavior: the port under the esc key (with the swapped expansion card) would not get more than a 30hz refresh rate after 5 tries, but the port under the caps lock key (with the swapped card) was able to get 60hz.