There is no correct answer to this question. My "educated" preference these days is still Figma plus a task management tool such as Asana or Jira.
TL version; DR benefits of Figma: Same as or better than Sketch, but available on all platforms and in all browsers, replaces InVision for prototyping and comments, and Zeplin, because you can integrate developers with Figma and get the latest version of what they need.
* Long versions
Design System Manager
I think Figma is pretty well equipped to create and maintain Design System. You can define font styles and colors, as well as the component system and its implementation. IMO is much more powerful than Sketch.
Figma's prototyping has improved significantly in the last two years and is now comparable to InVision. You can easily emulate rollover states, sticky elements, vertical and horizontal scrolling, and more.
You can design responsive and scalable components, but in reality you will still need at least 2 versions of layout and, in many cases, 2 versions of each component. If you want flexibility similar to that of HTML / CSS, you have to design in HTML and CSS.
The comments and the answers "on the spot" should in no case to provoke the enthusiasm. It's the same as in InVision and Marvel, but doing it directly in the tool reduces the iteration time.
Unique source of truth
Unlike file-based Sketch, Figma files are hosted in the cloud and updated live: no versions of files and conflicts. It's huge if there is more than one designer in the team. Trying to synchronize sketch files at the end of the day is a daunting task. If necessary, the Figma file can be taken offline.
Plus, the developer's transfer eliminates the need for Zeplin or waiting for the designer to extract the assets.
Components and Libraries
The components are similar to the Sketch symbols, but I think the Figma implementation is better because it provides more control over what you can replace in instances (not just scale, text, and internal symbols). ). In this sense, Figma's implementation is closer to OOP classes and instances. Add libraries to the mix and you will have the perfect tool to create design libraries.
I've built my design process so as to have everything about design in Figma, plus a thin layer of "Definition of Done" and related links in a Jira or Asana ticket.