My Doctor has said to me that a behavior that is sometimes annoying is best to be ignored and it goes away faster. If you keep on and on and on it becomes bigger and bigger and bigger. Maybe she gets excited and doesn't know how to express herself. You mentioned her friend has to leave and does so. Does that mean that this whole issues gets exposed in front of her friends and their mothers? Maybe she's being reactive because she's feeling putting on the spot.
I am just thinking of other possibilities.... I would also try your approach if I were in your shoes but maybe now it may be better to deal with it differently. With positive reinforcement.
I find my kids respond better to that sometimes.
Tell her before you arrive that if she DOES NOT become loud, you will reward her after the playdate with something she loves, ice cream....
Let me know if that works!