can give you better compression ratios and include the packages you're always going to need into the sysupgrade image already, so you have them at your disposal from the start - it does not automate extroot handling in any way, shape or form. extroot is a crutch, it works - but complicates stuff quite a bit.
Specifically referencing:
https://openwrt.org/docs/guide-developer/imagebuilder_frontends#openwrt-auto-extroot
+1 to everything @slh has said here... I also want to emphasize this:
I use extroot on my devices because I don't have enough internal flash memory. But, sysupgrade becomes much less straightforward. My approach simplifies it is much as possible, though (and some of it is scripted):
- make a backup
- remove my extroot media (sd card)
- sysupgrade (I just use the standard sysupgrade image)
- install critical packages to enable extroot (this could be pre-installed if I built my own images, but I don't really mind the extra step here)
- insert media, erase the sd card extroot partition, pivot to extroot
- install packages
- restore config backup (or configure manually if needed).
I also agree that your content/media should be on another partition entirely relative to OpenWrt extroot -- it means that unrelated data is safe during the upgrade process since it is on a separate partition and thus not subject to being erased/rewritten the way that the extroot partition will be.