Hello, your post is very interesting.
It seems to me that this visa situation allows exploitative behaviour by an employer or Manager in a workplace, because they know you are 'trapped'.
Don't spike her drink-if you are caught out with that-she becomes the victim and you of course the bad person.
Also I don't think you should 'grin and bear it'. We can do that but our insides become ever more distressed.
I notice something in your post: you said she is worse when the boss is not around. That is significant. You need to ask her for a private talk. Discuss with her your effort to do your job properly, and that you do not understand what you are doing to upset her. (She will deny she is 'upset' aka nasty,-but your message would have got through). Tell her how you are feeling and that you are confused because your performance report has been good.
Suggest to her that you do not wish to upset her in any way and have thought of approaching the boss for some advice on how to make her happier with your work,-because 'you only want her to be happy with what you are doing'. I suspect she will not want any approach to the boss.....
I don't think any circumstances warrant 'putting up with it'. All that does is allow bullies to thrive. They need to be countered.
I wish you the best of luck.