Should I build a DSL?

The default answer is no, and most paths here end there. A language is not a weekend feature — it is a parser, a set of diagnostics, a formatter, editor support, a versioning policy and a debugging story, owned for as long as anyone depends on it. The tree exists to find the small number of cases where that bill is worth paying.

Is the domain stable enough that the notation will still be right in two years?

Look at the last year of changes to the code this would replace. If the concepts themselves changed — not just the values — the domain is still moving.