Are they rejecting specific passengers based on ethnicity?
In my limited experience, no. I can't speak for all "ethnicities", obviously.
Assuming there's no issue with using the meter, which is also a "rejection".
It seems like it's more about the destination, and whether the driver wants to go there based on any number of criteria (traffic, end of shift, chance of getting a fare after yours, weather, etc.).
But some drivers may want to cherry-pick passengers hoping to get a flat-fare, or a desirable destination.
Using GrabTaxi allows the drivers to choose to accept your "offer" (location, destination), and you can add a bonus to incent a pickup in a challenging situation.
Depending on the situation (rain, no passing taxis without walking several Km), I might choose to use GrabTaxi as it is so effortless. If I'm on the street with many passing taxis - or those waiting say at a BTS station - I'll just use one of those.
Personally, I don't want to ride with a driver who I feel is being 'forced' to transport me as there are so many options. But that's just me. If I state my destination, route and ask for the meter and they say "no", I just say thank you and flag down the next taxi. Under some circumstances I may negotiate a flat-fare.
The only problem was that he was out of gas, and we ended up waiting in line for 20 minutes at some taxi gas station.
This can be a huge issue as these LPG/CNG vehicles have limited range, and while there are quite a few stations, many are sold out, so refueling can become a real chore. Then as supplies dwindle - as they do during the week - the lines get longer. But I think they can switch over to gas in a pinch? (I admit to being unfamiliar with these CNG conversions on taxis.)