I'm Lucy, and I'd be happy to answer your questions today. I'm sorry to hear about your situation.
You're going to be treated like any other tenant in this scenario. You have a lease for a set term. It doesn't matter that you originally found her through Air BnB. The two of you have a contract, and that is binding on both of you. Just like you wouldn't be allowed legally to move out if you found a cheaper place to rent, she can't terminate your contract and move someone else in just because someone else might pay more (she shouldn't even have been looking for someone else to pay more). You do not have to leave, and if you did, you could actually sue her for the difference in the rent you're paying and what it costs you to find another place to stay. You could also choose to remain in possession and force her to go to court if she wants to evict you. She CAN'T evict you, because there's no law that allows this as long as you're paying the rent and not in violation of the lease. It is illegal for a landlord to change the locks on a tenant, and if she did that, you could sue for the cost of staying in a hotel until you found a new place to live, PLUS the cost of increased rent elsewhere. Ordinarily, a judge could grant a court order that you get back in, but he might not if someone else is staying there - he might give you cash damages instead. If a judge does grant you the right to move back in, it would only be until the end of the original agreement. There wouldn't be any right to stay beyond that, even if you haven't already found a home.
To pursue a discrimination claim under the Fair Housing Act, you would have to produce evidence that the landlord was asking you to leave because of your sexual orientation and not because she can get more money from another tenant, as you stated above. The Complaint would need specific facts that show her behavior was motivated by animosity. But you have a breach of contract claim either way, and the law is on your side.
You do have the option of agreeing to leave if she pays you an amount that you think is fair. You unfortunately cannot charge her for your time in pursuing a lawsuit against her. That's just not something that is compensable in a breach of contracts case. Note that if you DO accept a check in order to leave, that's usually considered a settlement of the dispute, meaning you couldn't sue for more and you'd be waiving your discrimination claim.
It's important that you are 100% satisfied with my courtesy and professionalism. Thank you.