Belo Horizonte is bigger if you go by urban area population. It's smaller if you go by city proper population. But since the rest of the quiz seems to use urban area, it would be more consistent for Brazilian cities to use that as well. The top 5 Portuguese-speaking cities would be: Sao Paulo, Rio de Janeiro, Luanda, Belo Horizonte, Porto Alegre.
I was thinking that too, but apparently Guangzhou is nearly split evenly between Cantonese and Mandarin speakers since its population has grown largely from an influx of people from other parts of China who mostly speak Mandarin. Moreover, a lot of younger natives of the city are switching over from primarily using Cantonese to Mandarin. So, I guess it's technically a Mandarin speaking city, if only by a small margin.
Also Kinshasa, Abidjan, and Luanda aren't majority French speaking, but I can understand why you added them.