Yes! I did that last month for my Alaska trip. The Amex offer came in literally five days before we got onboard. We had paid for everything, including gratuities, for that one and for our December trip. I ended up buying $1000 of OBC for the Alaska cruise. You have to wait until the last day, but they give it back to you in cash. I cashed out just about $900. Nearly wiped them out.😂.
So, yes, it works to buy OBC. They will not re-credit back to the card. In fact they will not let you off the ship until they’ve paid you back. As we were waiting to disembark they called several names telling them to go to the OBC desk before disembarking.