Thought I’d let you know (a bit later!) that using the npm module base64-arraybuffer works great.
The code
import base64 from 'base64-arraybuffer'
const binary = await fetchBinary(uri)
const imgBase64 = base64.encode(binary)
const imgFill = new ImageFill('data:image/png;base64,' + imgBase64)
seems to work great (using the fetchBinary utility from the plugin-samples). Not bad! 3 lines of code to fetch an image and turn it into an ImageFill.