Laptop won't resume properly from suspend

From what I’ve seen online, this issue is similar with one many others have had, but none of the solutions I’ve seen have worked. I recently installed a fresh copy of Fedora 36 on my MSI GS65 Stealth Thin laptop (dual boot with Windows on a separate disk). Unfortunately, I’ve noticed a number of issues whenever the computer gets suspended, either manually or automatically. When the computer boots back on, at first the screen doesn’t come back on at all. Seeing some guides online, I found that pressing CTRL+SHIFT+F2 and then CTRL+SHIFT+F1 will reawake the display and I am able to log back in. Even once logging back in, however, suspending the laptop seems to disable my Wifi card and my Nvidia GPU without any way of fixing it without a reboot.

Prior to suspending the machine, I can connect to wifi networks and use external displays plugged into the laptop, but suspending the machine breaks both functionalities until I reboot. I have tested this with both the default native drivers for Nvidia and the proprietary drivers, both with the same results.

Based on this overall behavior, it seems to me that Fedora is not properly waking up from suspend and misses whatever steps reawaken the suspended wifi and nvidia card, which could also explain why the screen doesn’t reawaken by itself either. Does anyone have any suggestions or tips that could explain this behavior?

In the meantime, I’ve had to disable suspend, but this is less than ideal given the battery benefits I lose from this.

Some info:
uname -a:
Linux carolina 5.17.11-300.fc36.x86_64 #1 SMP PREEMPT Wed May 25 15:04:05 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

lspci -v of Nvidia and Wifi Card:
01:00.0 VGA compatible controller: NVIDIA Corporation GP104M [GeForce GTX 1070 Mobile] (rev a1) (prog-if 00 [VGA controller])
Subsystem: Micro-Star International Co., Ltd. [MSI] Device 1227
Flags: bus master, fast devsel, latency 0, IRQ 150
Memory at ac000000 (32-bit, non-prefetchable) [size=16M]
Memory at 80000000 (64-bit, prefetchable) [size=256M]
Memory at 90000000 (64-bit, prefetchable) [size=32M]
I/O ports at 4000 [size=128]
Expansion ROM at ad000000 [virtual] [disabled] [size=512K]
Capabilities: [60] Power Management version 3
Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [78] Express Endpoint, MSI 00
Capabilities: [100] Virtual Channel
Capabilities: [250] Latency Tolerance Reporting
Capabilities: [258] L1 PM Substates
Capabilities: [128] Power Budgeting <?>
Capabilities: [420] Advanced Error Reporting
Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
Capabilities: [900] Secondary PCI Express
Kernel driver in use: nvidia
Kernel modules: nouveau, nvidia_drm, nvidia

00:14.3 Network controller: Intel Corporation Cannon Lake PCH CNVi WiFi (rev 10)
DeviceName: Onboard - Ethernet
Subsystem: Intel Corporation Wireless-AC 9560
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at ad414000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [c8] Power Management version 3
Capabilities: [d0] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [40] Express Root Complex Integrated Endpoint, MSI 00
Capabilities: [80] MSI-X: Enable+ Count=16 Masked-
Capabilities: [100] Null
Capabilities: [14c] Latency Tolerance Reporting
Capabilities: [164] Vendor Specific Information: ID=0010 Rev=0 Len=014 <?>
Kernel driver in use: iwlwifi
Kernel modules: iwlwifi