I'm having trouble with some strange behavior from tone() using an ATTINY85 and the SpenceKonde core. My goal is to produce 1ms pulses of 38kHz. You'll see that the durations do not match the code, and more concerning is that sometimes the pin goes high before the 38kHz starts.
I have no idea why it is. If using pin4 on an x5 series, we use the hardware output compare, so it should be uneffected by the millis update interrupt. This is a serious bug with tone.
Are you doing anything else in your code that might effect timer1?