I’m not sure your second paragraph is correct. First of all, it’s “just in time” so will only be replicated if somebody on that instance is following it. But more importantly, I read a statement from a server owner somewhere that the software purges older content regularly (and refetches is “just in time” when somebody tries to view the old content) to keep storage size down.
From my understanding you are correct. Each instance is responsible for serving all of the content of the communities created on it. So many small instances with a smaller amount of communities = good, a few huge instances with lots of communities = bad.