I think a Markdown version of Canvas would get pretty messy.
YAML is a superset of JSON, so it shouldn’t be hard to add a properties section to Canvas files. Properties can already be defined in JSON. It might even be possible for a plugin to do it; “Extensible and interoperable” section of Obsidian Canvas - Visualize your ideas says “Our API makes it easy to create plugins that add new capabilities to Canvas.”