P5.js highPass is not working as expected

I thought highPass would only let frequencies pass above a set frequency.

For example, if I have a tone at 1000 Hz, and I set the high pass 18000, I still hear frequencies well below 18000 Hz. It changes the sound overall, just not the way I would expect. There has to be something else at play here, but I don’t know what it is.

var osc = new p5.Oscillator('sine');

osc.freq(1000, 0.1);
osc.amp(1, 0.1);

var highPass = new p5.HighPass();

highPass.freq(18000)

osc.disconnect();
osc.connect(highPass);

osc.start();