I think containers get seen as overhead unfairly sometimes. Yes, its not running on bare metal, so theres a layer of abstraction, but I think in practice the performance is nearly identical. Plus, since AIO does things out of the box for you (like a redis cache for instance) it ends up being more performant than a standalone nextcloud instance that isnt configured properly.
That is to say, I use AIO without issues.
I’ve used minio briefly, and I’ve never used any other self hosted object storage. In the context of spinning it up with docker, it’s pretty easy. The difficult part in my project was that I wanted some buckets predefined. The docker image doesn’t provide this functionality directly, so I had to spin up an adjacent container with the minio cli that would create the buckets automatically every time I spun up minio.
But for your use case you would manage bucket creation manually, from the UI. It seems straight forward enough, and I don’t have complaints. I think it would work for your use case, but I can’t say its any worse or better than alternatives.