We've done both the First Haircut at MK and the Princess Lunch at Akershus in Norway, Epcot.
First Haircut - we did this a few years ago. It was an amazing experience for DD - she spoke about it for ages after and stated she would only get her haircut at WDW!
Princess Lunch - we did this last October. We had a lovely time, the food was delicious (we had the kjottkaker). Of course DD loved talking with the princesses.
the only one on your list that ive tried is crystal palace...we have been twice and really enjoyed it.the character interaction is good and i found the buffet good as well