You’ve had it spot-on from the beginning, really. I’m not sure which option of those is less finnicky, that would depend on the state of your code while you’re doing the updating bit.
But have you managed by now? If you open the script app examples while inside your base, and search for the multiple linked record spec, the documentation might actually provide you with copy-pastable code that solves your issue from the get-go, assuming that’s the only linked-record field you have in that table.