Unless you're running something that's mostly images, I'm a fan of pregenerating variants of images for static sites since storage has become so cheap. However, I think the best way of doing that is to actually generate the variants as part of the build step, the way that Next or Gatsby can. Hugo also seems to have some support for image processing [1] so it may be possible to put something together using only Hugo. It increases build time, but a build cache should fix that.
[1] https://gohugo.io/content-management/image-processing/