FWIW, the smaller forum above is on a set of three smaller cloud servers I set up years ago. One runs only Apache and PHP (and therefore, XF), where a second is tuned for MariaDB, and the third runs only Elasticsearch. I did it more as an experiment to see how everything would work and, years later, I do like this setup. The ES server doesn't need that much in the way of resources, and I consider it "expendable" since, if I need to fire up a new one, I don't need to recover the data from a backup--I can reload the snapshot of my setup and have XF rebuild the search index. The other two are backed up in at least two different places, including a nightly cloud backup using rclone that syncs a rotating set of backups.
For a much larger forum? I don't know that it would be affordable to run three smaller servers vs. one larger one. I would need to chew on some analytics to figure out how much in resources I would need to allocate to each smaller server. I might even consider a fourth server to use as a proxy, where I could do all our heavy filtering (I would shift to anubis and other firewall measures), then feed that to the actual web server that XF runs on.