The choke plunger itself could have an air leak. Since it only idles high when the choke is pulled, and returns to normal when the choke is disengaged, this seems to suggest an air leak in the choke circuit.
I have to give the Motocross Action Magazine website credit for that little tidbit. My bike had the same problem, so I replaced the choke plunger after reading the MXA website. Problem solved.