It should be. You’d need to implement drag.subject for Canvas, as shown here:
Per the d3-drag README, if the returned subject is null or undefined, no drag gesture is started. This means the d3-zoom behavior can then handle the event to initiate zooming.