It's not mainly size,
Mumbai, Surat, Vadodara are humongous themselves.
It's the availability of alternatives. Airports, regular flights and stuff. Plus demographics of population. Middle Class in these cities have a preference for flights compared to Middle Class of other cities.
Also to note- Bhopal, Jhansi, Gwalior and Agra act as further connecting stations for Cities like Rewa, Satna, Sagar, Kanpur, Lucknow, Banda, Bhind,...
more... Katni, Shahdol etc. All of these cities have predominantly train bus traveling population especially in Middle Class.
Look at Patna Mumbai Suvidha Express, both Terminals have Airports with regular and relatively cheaper flights, yet this train is running with higher fares and is a success while a fully AC Humsafar train to Udaipur via Kota failed. Destination and route always matter.