I'd stop worrying about how often you restart your phone, nor doing a Factory Reset, and especially not flashing your phone with a new ROM (that's how one installs a new, clean Android operating system). Redirect your focus back to this backup issue.
Just for clarity, how are you determining that some apps are or are not being backed up? Using the Google One app? Accessing the backup files themselves within your online Google account?
Which backup Plan do you have? (i.e. 100GB? 2TB?) Are you sure there's enough free storage space and you're not maxed out?
Keep in mind there's a difference between a full backup and an incremental backup. With the former all data gets backed up, with the latter only data that's new and changed gets backed up. With a full backup that wastes a lot of time, processing, and system resources because all data gets transferred over from the source to the destination, and in the destination each full backup takes up more storage space. With an incremental backup (how most professional-grade, higher end backup services work), on the source only new and updated/altered/edited data gets transferred over to an already existing backup directory, merging old data with the new data. The issue being most data in the source (in this matter your phone) is not any different from when the last backup occurred and a current backup takes place. If you have a large collection of music files stored within your phone that you listen to frequently, this means those actual audio files are actually changed, your only listening to them. Backing up your entire music library every backup is a waste. If you add a lot of audio files, then it's more efficient to backup just those new files, not the entire library.