Initially, Smash 4 had 9 unused IDs in the data. As Mewtwo, Lucas, Roy, and Ryu were added, they each took up 1 ID, leaving 5 left. However, they put another empty ID in the data around this point, so there were actually 6 left. Then Corrin, Cloud, and Bayonetta all took up 2 IDs each. Corrin had a male and female version, Cloud had 2 outfits, and Bayonetta had different hairstyles/colors/outfits, based on Bayonetta 1 & 2. After those three were added, there were zero empty IDs left.
To explain how it could happen with Ultimate, we're starting with 29. Let's say the first fighter pass comes out, and all 5 characters have 2 different versions, such as an alternate gender version, or a different outfit or something, like Joker with or without a mask, for example. If that happened, we'd still have 19 slots left. If they added, say, 5 echo fighters, one of which took up 2 IDs, then we'd have 13 left, which is still enough for a second fighter pass. (third if you counted those echos as a fighter pass.)
They could also (maybe) release new outfits for current characters, and those MIGHT take up IDs, depending on how complicated they are. If they just added back fire flower mario or black yoshi, that wouldn't take up a new ID. If they added a pokemon trainer alt skin where they dress up as Team rocket, and all of the pokemon wear sunglasses, that would probably take up four. (Disclaimer: I'm not sure how Pokemon Trainer's IDs work entirely, but I'm assuming they take up 5. One for Red, one for Leaf, one for Squirtle, one for Ivysaur, and one for Charizard.)
If the first fighter pass has the remaining 4 characters with 8 IDs, assuming Joker takes 1, that'd be 32, which is obviously more than what's in there. Not to mention, all 5 characters pulling a Bowser Jr. is highly unlikely. Through reasonable deduction, we can say that we're going to get at least 2 fighter passes, maybe even more. Unless, of course, they don't follow the trend of Smash 4, which I admit is possible, but unlikely.
Does that make sense or am I sounding like a crazy person? lmao