Just a suggestion, not tried it, but you could probably disable the mouseclicked handler for the scrollpane when the mouse enters the canvas, and restore it when the mouse exits the canvas. You would need to use javaobject or a small bit of java code to get the getOnMouseClicked handler and then restore it with setOnMouseClicked.
Pseudo
canvas.setOnMouseEntered(...
savedHandler = scrollpane.getOnMouseClicked()
...
)
canvas.setOnMouseExited(...
scrollpane.setOnMouseClicked(savedHandler)
...
}