The reason you didn't see the cities' sizes being determined is that the cities were existing cities allocated by lottery to the different sons of Levi according to the size of the tribe giving them out and according to the size of the Levites tribes.
In Bamidbar 35:2-8, Hashem tells Moshe that the tribes should take cities from their land and give them out to the Levites. Hashem then tells Moshe how to calculate the land for pasture around these cities.
Instruct the Israelite people to assign, out of the holdings
apportioned to them, towns for the Levites to dwell in; you shall
also assign to the Levites pasture land around their towns. [...]
In assigning towns from the holdings of the Israelites, take more from the larger groups and less from the smaller, so that each assigns
towns to the Levites in proportion to the share it receives.
And indeed one finds in Joshua 21:3
So the Israelites, in accordance with the LORD’s command, assigned to
the Levites, out of their own portions, the following towns with
their pastures: [...]
From the names of the towns (examples: 21:11-13) one sees the towns existed already
To them were assigned in the hill country of Judah Kiriath-arba—that
is, Hebron—together with the pastures around it. [Arba was] the father
of the Anokites.
[...]But to the descendants of Aaron the priest
they assigned Hebron—the city of refuge for manslayers—together with
its pastures, Libnah with its pastures [...]
See the text there at length, towns were assigned by lot and by size. And see a later allocation in I Chronicles 6.
Regarding the area for pasture around the towns, the gemara in Sotah 27b gives two explanations, either 1000 cubits outside the city and 2000 for the techum Shabbat or 1000 cubits of open space and 2000 cubits for fields and vineyards.
See also here.