D3 does not provide an object model over canvas (similar to paper.js). But you can render your output to canvas through custom renderers and bind them to datasets through d3.
This is illustrated very well by this example that uses both canvas and SVG.
Apart from custom rendering logic as in above there are other approaches towards using using canvas eg. by rendering svg (generated through d3) on canvas through javascript based svg renderers.
The support that you have found in documentation mostly refers to utilities for zooming and panning etc. (d3-zoom) which are very useful for interactive visualizations, and utilities to serialize canvas path commands to svg.
Using canvas can be helpful when the DOM involved in visualization is very complex. This article highlights some interesting use cases.