I think Forth beats Lisp out in these domains. To program at all in Forth is to write a DSL and to metaprogram. It is extremely common to come into a Forth codebase in an enterprise environment, and it looks nothing like anything you've seen before. Hand an intermediate Lisp programmer a codebase where the first 1000 lines are completely replacing all the built-ins and then swapping to some non-sexpr language, you're going to get a lot of headscratches and frustration. A Forth programmer will have expected this and have a large bottle of APAP in their hand for the ensuing task ahead of them. In this same way, Forth is also an important lesson as to why these things are more "anti-features" when you base your entire language's identity around them.
Nim can do metaprogramming and DSL beautifully. Python-like syntax, compiled, fast, small.