I'm not an accountant/lawyer and I'm also still investigating the regulations myself, so please don't take my response as a legal advice as I'm not 100% sure this is correct myself (regulation here are sometimes a challenge even for the tax experts).
I'm still searching for a reliable accountant with experience in this, if I find someone good, I'll share.
What seems to be the correct way to do this is to display a full amount charged to the client on your invoice and treat the UpWork fee as the transfer cost in your accounting.
I don't see why wouldn't the client give you their details if it's a good and trusting business relationship, just explain that you're from now on required to do so by the local laws.
If they refuse to give you their details, then I agree it is a problem.
VIES VAT number exists for clients in EU, for the US I really don't know.
Further, your invoice has to be in Croatian anyway:
(you can, of course, additionally include an English translation for your client, but only the Croatian version is the legally-binding accounting document here). Therefore, I believe the client will have little value from your invoice and in fact should still continue doing their accounting based on invoices UpWork delivers them as clients (it's client's responsibility to do the proper accounting anyway, if they choose to discard your invoice, that's their decision to make).