I had this in the past, and yes, it’s the ROM your running. There should be a line in the adb log which is like "freezing app … syncthingandroid " when it goes to zero transfer. Switched mine to PixelExperience rom 12/12.1 and now 13 and all is fine.
No matter if the App is in the foreground or in the background, the screen will be on and after 5-10 seconds of no phone activity (not touching screen), the transfer will stall, once you touch the screen, the transfer will resume at max speed (4MBps+).
@Catfriend1 - It certainly sounds like some baked in CPU sleep/freeze beyond my control. I really hope I don’t have to install a custom ROM for this to work.
I’ve been having the same problem with a custom rom on android 13. It seems to have been solved by enabling the following option: Experimental → Keep CPU active while running syncthing.