The following are only suggestions, based only on my examination of zettelkasten.leo.
Special node names
At present, the only "special" nodes (nodes starting with '@') in zettelkasten.leo are @rst and @path nodes. Imo, this is a dubious design. I would have expected to see @box and @note nodes (assuming that @box will actually be useful).
The principle is that special nodes should be descriptive, not "procedural". Note: within LeoDocs.leo @rst nodes are descriptive: they denote a tree that corresponds to an external (documentation) file. Within zettelkasten.leo, however, @rst and @path nodes could be called hacks. Yes, they do have a purpose, but only a behind-the-scenes purpose.
You might also want a higher-level grouping, say @zettelkasten, or @group, or @topic, or something else.
Commands
The @command nodes are a good
start. However, they too are implementation oriented. Imo, @command new-note and @command new-box would be better.
The "no lock in" requirement can be fulfilled by import/export scripts, defined in other @command/@button nodes.
Summary
zettelkasten.leo is an excellent prototype. It shows your ideas well. Its simplicity will make making changes a snap.
Commands and headlines should be user-oriented, not implementation oriented. Just a tiny bit of work will be needed to support @box and @note.
Let me know if you disagree, or if I have misunderstood something.
Edward