Custom preprocessor plugin blocks upload

I created a custom preprocessor (using Jimp to rotate images), using the example code for a compressor plugin in the docs.
The preprocessing part of the code appears to work (if console logs are to believed), every step executes as expected except for the upload.

  if (rotation !== 0) {
    uppy.use(UppyRotatePlugin, { rotate: rotation });
    console.log('using rotate'); // -> 'using rotate'
// console shows log statements for custom plugin's 'prepareUpload' steps
  console.log('ready to upload'); //-> 'ready to upload'
  await uppy.upload();
  console.log('and... uploaded'); // -> never happens

What am I missing?