I have the same problem, but worse from time to time the last month or two or thereabouts.
Let’s say, I got things back to “normal”. Fine. Joy and happiness.
A few days later, without any reason, suddenly I get dozens to hundreds of bookmarks and folders added to the root bookmark list, below favorites and favorite groups and folders, I have in the root list. ALL content is usually “misplaced” regular content (as if sync doesn’t find/check the real position, and then decides to just throw it at the end of the root list). Decidedly a result of buggy sync code somewhere - I suspect in the iClo(u)d code proper.
The problem turned up in iOS 16 with a vengeance.
Now, I have one iPhone 12 Pro 256GB active. One iPad Pro 10.5 512 GB active. One MacBook Pro 13 Intel, one MacBook Pro 14 M1 Pro, and one Mac Mini M1. ALL have ample free memory. All exhibit the same (mis)behavior starting roughly at the same time.
Repair approach: I save bookmarks in one valid state.
Then I go into all machines. Delete ALL bookmarks everywhere. Even deleting all backups in iClo(u)d (takes forever - must be designed by a trainee when iPhone 6 was new). Disconnect Safari Sync on all units. Reboot everything.
No unit has any bookmarks. Then I load the saved bookmarks into, let’s say the MacBook 14 Pro M1 Pro, check everything, reboot, check everything, then enable Safari Sync.
Then one by one I enable sync on iPhone, iPad, Mac Mini M1 and MacBook Pro 13 (Intel).
After most of a day things are again in order (my internet is 600/600 megabit fiber and certainly not limiting anything- Google typically delivers 60-70 megabyte/sec whether read or write - Apple never does; they’re too poor to deliver decent speeds, obviously).
A few days passes. Suddenly garbage again turns up added to the end of content in the root bookmark list. Within the day on all units. When I remove the garbage, everything will eventally become ordered again everywhere. Alas… a few days later, iClo(u)d sync again delivers garbage.
Bookmarks have even been reduced a bit, since iOS15, 14 etc. where this mess NEVER turned up.
A few days ago, I decided to try another approach (has worked a few times on earlier iOS versions).
I disabled Safari Sync to iClo(u)d, but instead of keeping the bookmarks, I asked for bookmarks on the iPhone and iPad to be deleted locally.
Since then, neither the iPhone nor the iPad will sync anything. Safari becomes very slow at starting. And for the first time in months my iPhone has run down to 4% battery, in the late afternoon, in contrast to normally having 60-70% remaining power at bed time. The iPad also drains faster. The iPhone becomes very hot, when Safari sync to iClo(u)d is actively “delivering nothing”. Turned off, things are normal again. But still no bookmarks.
Bookmarks and folders created on iPhone and iPad do not turn up on other devices either, when sync is active on iPhone or iPad. What a mess iClo(u)d has become!
Currently sync is turned off, and I am in the process of migrating to Google chrome, where these sync problems don’t turn up. Has the benefit, that my Android gear also gets sync’ed now, so I’ll probably never risk using Safari for anything again due to the weird behavior.
By the way. The weird, periodic garbage additions to the bookmark list on the remaining active Safaris (tested once a day) are still turning up, when Safari sync is enabled to iClo(u)d. I guess the iClo(u)d system has become just as buggy for bookmarks recently.
There’s definitely some nasty bugs in the iClo(u)d sync code, and central database, since bookmarks not having been used for several months (deleted nearly a year ago), repeatedly seem to turn up periodically in the root garbage.
I have given up on bookmark sync. It is even not working at all on my iPhone/iPad (nothing is synced into the device, battery use ‘explodes’ and the iPhone gets really hot, when sync is active).
I guess, it’s migration time to Android.
I’ve had a Samsung Galaxy Note10+ 512GB in daily use for purposes not solved by iPhone, and there has never, ever been even an inkling of the repeated mess, that turns up each year, when a new iOS is introduced.
How about fixing iClo(u)d sync?
Regards