Your MIL knows what she’s doing, and knows you and your hubby’s weakness to not offend her, so she is not being fair and so therefore any “good” qualities that she has are being destroyed by this “selfish, and controlling” behaviour, which is sad for all of you. I would gather all the strength you have, either visit her alone and state that the “routine” or agreement that you once had isn’t working, as a) your daughter gets upset leaving you, and b) gets upset on returning, so you feel it’s creating unnecessary upset.
Explain you understand your daughter and her can spend some time alone at your house if she wishes, we’re your daughter is familiar with the surroundings, and smoke free, or she could pop out locally to the park etc, but she returns home to you,
I have 5 grandchildren and have more or less raised them since babies as both families worked, but even though I see a lot less of them now, I accept they are not MY children, and decisions about them are NOT MINE to demand, or manipulate. I would t dream of it. She is a strong character and she knows how to play you BOTH. I’m not saying she’s a nasty person, but she’s putting her own needs before your daughters, your husbands and yours.
The smoking is wrong in the child’s presence, but if you take care of the first point, the second point will sort itself. Good luck, you both now first and foremost need to be a good mum and dad, then a good son and daughter in law. Hope your MIL takes a step back without throwing the dummy out of the pram.