keep losing because my game times out when it is stalled and I can’t do anything


What you're describing is getting disconnected from the live server process.
You might check out the following for ideas on how to minimize connection issues.
https://support.chess.com/en/articles/8652402-how-can-i-optimize-my-online-chess-performance
https://support.chess.com/en/articles/8584209-how-do-i-fix-my-disconnect-lag-issues

Same thing, I can watch YouTube in 4k but often "lose" a game because I see my opponent's time is running out, it shows 4 bars of Internet connection, but when the game is over I see that my opponent actually moved long time ago and it looks like I just quitted the game.
Things getting worse when servers are about to be overloaded.
I just start a new game hoping it will be ok as there is no simple solution

Same thing, I can watch YouTube in 4k but often "lose" a game because I see my opponent's time is running out, it shows 4 bars of Internet connection, but when the game is over I see that my opponent actually moved long time ago and it looks like I just quitted the game.
Things getting worse when servers are about to be overloaded.
I just start a new game hoping it will be ok as there is no simple solution
Server overload is relatively rare

I've been having problems today with notifications not working, and board not updating if the other player makes a move. On Android app. I only have daily games going, so not a big deal for me. May this be connected to the problem you are experiencing?
Also, if I back out of the game the active games list have all games greyed out like no opponents have made moves. But if I pull down to refresh, there actually were several with moves made, waiting for me to make my move.
Edit2: this also apply to opening the app. The list only updates on pull.
Edit : other thread : https://www.chess.com/forum/view/help-support/notification-issues