Anyhow, I've set up external storage (USB), but it seems either option requires installing some supporting packages to internal (e.g. kernel modules for #1, Python stuffs for #2) which fill up the internal storage real fast.
You didn't say what device you're using, but in general, it's probably not going to be a good experience on OpenWrt. In addition to storage, it's also going to require a lot of RAM... and while it will run just fine on a recent Pi, I wouldn't suggest anything less powerful and resource available than that.
Yes, you could theoretically use extroot to give you more storage, but your RAM will likely be the limiting factor -- you'll probably need ~2GB RAM.
Unless you're on an x86 device pr a Pi4, you should probably not try to run HA on top of OpenWrt.