In BokehJS 2.4.2 the BoxZoomTool is always active by default, even when setting the active property to false when adding the tool.
const box_zoom = new Bokeh.BoxZoomTool({
active: false,
});
plot.add_tools(box_zoom);
With other tools, such as the FreehandDrawTool, the tool is not active by default and the active property is not ignored.
How do you add the BoxZoomTool without being active by default?

The BoxZoomTool has no parameter
active, therefor the keyword is ignored in your example.To set tools active, please check out this documentation.
In your case the line
p.toolbar.active_drag = Nonedoes the trick, which deactivates allpan/drag tools, and you have only on off it. This line accepts"auto",Noneor an instance ofpan/drag.Python Example
This can be adapted to JS.