I think it depends heavily on how much storage you're allocating, if you allow uploading media that is. From what I've understood most of the bottlenecks are in DB operations so CPU and memory definately play a role.
What is the plan to make communities between instances easily accessible? I feel like with mastodon and now lemmy that is the part that concerns me, namely community reach/discoverability
External communities are just searchable, subscribable and browsable from here. Sometimes you need to change a search filter or default view from Local to All.
Or is there something else you feel is missing?
I think 90% of the issues people are having are UX related and not a core issue with federation or decentralization.