In your cake shop example, the more accurate version would be some gay couples only agreeing to buy wedding cakes from cake shops with gay bakers.
On account of it's the customer choosing the service provider, albeit with the help of filters provided by an aggregator, instead of service providers denying service to customers based on their belonging to a class.
edit: I missed that you can, as a woman driver, also filter out male riders.
Why does it change whether it's discrimination or not depending on who does it?
I don't see how the distinction is material.
The preference can also be set by women drivers not to accept men as riders, so I don't think your example fully covers it either.