Try-catch flow to handle two failing services
First, any async function should end with Async, ie MyFunctionAsync. You can see examples of this in the other async functions you're calling throughout your code.
As to your requirements, the exception you throw at the end is devoid of any useful information. It has no exception origination information (line number etc) and no correct stack trace. Either save the exception you're handling in the top try when it happens, or even better rethrow it on the spot.
I very much question your updating the item even though the first part errored out, so rethrowing the first set of exceptions on the spot is what I'd do, but if you want to update it even in an error case, bring the update function with you in the catch and then rethrow.
The second part is fine, you're rethrowing as you should.