There are multiple ways to solve this, we've explored a few and we found that clearly differentiating user inputs from the spec keys was the right way to go for this use-case and our audience.
That said, there definitely are other valid ways to solve it.
I've only ever seen $ used before with meta properties that work across all schemas like the $ref you mentioned and $schema.