A while ago they added a update with in world passenger demand that they had collected from data. So for example, Sishen airport has 4 daily flights to Johannesburg whereas there is only 1 daily flight to Johannesburg from Lubumbashi.
Basically you understand correctly for the base demand mechanic (demand will be bigger between two bigger airports). An example of this is that there will be higher demand JNB-DSS than JNB-BJL because there are no real-life flights from Johannesburg to Dakar OR Banjul.
However on routes which DO exist in real life, the demand will be partly based on how much people fly this route in real life. This is what is happening in the example you are describing. Another clear example is that there is more demand from HLE-WVB than HLE-WDH despite WDH being the bigger airport because there exists a flight in real life that flies that route.