Not impossible. But tricky and fragile. A more stable approach would be to create your own sandbox to run the translators in, but that would be non trivial.
I've figured out how to do the DOI lookup and that's working well. Now the the challenge is to open the target page and scrape it. I discovered Zotero.Browser.createHiddenBrowser(). It would be ideal if I could load the page in the hidden browser, run the scraping there, and then merge the new item with the existing one when it's done. The code I have so far is below, but it's failing because Zotero_Browser._getTabObject is not exposed. Is there another way to do what I want?