Thanks to all of you for your help, which gave me the will to carry on and solve my very similar issue.
I'll share the specifics of my experience, in case it helps anyone facing the same restrictions.
TL;DR: I could do it on a Mac without PC emulation, I did it using ReiBoot (I guess other similar software could work), I did not succeed using iTunes/Finder. Trying again and again was the key.
It took a few hours of my time. I can't comment whether any other solution would have been faster.
After 6 weeks of traveling to remote locations without fast, unlimited and reliable internet access for iCloud backup, while I documented my trip with photos and 4k videos, I guess my phone filled up. I received a "Storage Full" warning, with a couple apps not launching anymore. I thought a reboot of the phone would be a proper first step that would do a bit of automated clean-up. How wrong I was! The phone went into a long Apple Logo boot phase, that would alternate between bright and dim screen, and restart every few minutes. It never reached the lock screen.
Being in a foreign country without a working phone, the one used for 2FA authentication of various services including messaging and credit cards for online payments, can be unsettling...
Then followed 48h of frenzied googling, and going through highs and lows, just as others have experienced.
My iPhone 13 was running IOS 15.something
And my M1 Macbook (with no bootcamp or parallels...), MacOS Monterey 12.3
I first tried to go through the iTunes Update process (now actually Finder Update process, I guess).
I couldn't get my phone to stay in the Recovery mode long enough for Finder to download the 6GB of the 15.5 IOS update. Each failed attempt meant wasted gigabytes on top of the lost time and hope.
So I looked for good enough alternative update software available on Mac, and settled on Tenorshare ReiBoot 8.1.12, which I bought in order to unlock the update function. I'm grateful that this one works natively on Mac and only downloads the 6GB update file once.
I attempted several updates, with the phone in Recovery Mode. These updates failed at various completion states, from 30% to 70%, during the "checking phone integrity phase", while the progress bar was displayed on the phone, stuck on zero.
After 5 or 6 failed attempts, I was ready to give up. That's when I found this thread, from which I retained the most useful info. Basically: Attempt the update process several dozen times if needed, and don't give up just yet, until it sticks the landing!
In my case none of the steps below were necessary:
- update to a beta IOS version,
- use specifically MFC or 3uTools,
- use a PC over a Mac,
- mix and match IOS versions and update software.
It is the "Trying again and again" of the very same steps that proved successful.
It took about 20 tries, taking about of 10 minutes each, failing anywhere between 10% and 85%. Most failed without warning or stated reason, simply returning the phone to the Apple Logo boot loop. On the other hand, the two failures closest to completion, around 85%, were due to low battery, the phone having discharged even while connected by a lightning cable to the Macbook. Good idea to charge the phone in advance.
After about 20 attempts, the progress bar on the phone finally started moving, and it all went through. The rest of the process has been well described by others already.
My photo library is now rebuilding itself. Apps such as Whatsapp suddenly came alive with message notifications from when the phone was dead, after having been quiet for half an hour.
My phone now shows 25% of available space (170 GB out of its 512 GB). I can't tell if that available space was already there right before the crash, or if it was closer to zero (I had not checked the numbers at that time). Nor can I say what I am now missing in my data or apps.
However It seems I have recovered a lot of my camera roll already.
[Edit: after a few hours, free space is now reduced by half, down to 70GB. And stays stable. I feel that my phone battery is draining faster than usual, maybe due to a reindexing taking place in the background?]