There's an <anchor-name> type defined here, and it's used in the position-anchor grammar, but not the grammar of anchor-name, which uses <dashed-ident> directly.
It looks like there are a few other places in the spec that use <dashed-ident> too when referring to anchor names. It seems like it would be good to consistently use the <anchor-name> type for those, both for clarity and to make it easier to maintain if <anchor-name> changes somehow in the future.