There are a lot of inconsistencies like that, but I think by and large they're necessary for gameplay reasons.
I think if you can accept that a colonisation ship can carry 30 million people, then it's equally easy to accept that they can carry the necessary infrastructure, too. Admittedly, both are quite hard to imagine.
However, I think there is a way to achieve what you've suggested, at least to an extent, although I haven't tested it yet. The current colonisation module carries 30 million people, but I believe you could mod it to 1 million, which is the minimum possible planetary population (at least the minimum above zero). At a population of 1 million, a planet will not grow by itelf, presumably because the growth rate is too low to add a mathematically significant number of people each cycle (I know this, I tested a colony of 1 million for about 5 years and it didn't grow at all - passenger transport was forbidden in the test).
You could also reduce the capacity of passenger transports to slow immigration from other planets.
These two changes in themselves would, I believe, at least partly achieve what you're looking for.
I'm not sure whether the game would be fun to play that way, but it's an interesting idea.