Create a trigger, with a flow to call bewhook1, then webhook 2.
This is just making the race condition worse! At least if you're gonna do it this way, you should trigger the second webhook only when the second webhook completes updating the access token field (using Data Value Changes). There's no guarantee that 2 webhooks called in "sequence" will actually complete in that order.
Of course you still have the access token expiration condition, plus the API limits concern.
I did use it, both in the same flow, short waiting step in between, did work for me in over 60k records, I had a smart list for error control using webhook response. The race was not the issue, the issue is the volume that Marketo handle per minute. So yes, this is not perfect solution, it doesnt pretend to be, but its the best I had and made the job and nobody has shown me anythong better. withouth using an external data pool.