Please see some guidance below:
1 - Is using an SVG <path> the right approach for enabling rotation and node-based reshaping?
SVG <path> is highly suitable for transforming (rotating and resizing) a cartesian object, the attributes are almost 1 - 1, I'd be surprised if behind the scenes Adobe Illustrator or Inkscape don't use similar technology.
Node-based or vector based reshaping would be achievable using the <path> tag, however difficult, it should be possible to achieve most of the desired functionality.
2 - Are there any recommended patterns or libraries for implementing this functionality?
I'll be describing the mechanisms involved in implementing this functionality:
Upon manipulating a shape in this way, a great number of new UI elements must be introduced to represent the curve (https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorials/SVG_from_scratch/Paths#curve_commands)
These curves will update the path, and other UI elements correspondingly, this project does a similar thing: https://yqnn.github.io/svg-path-editor//