I'm hitting a similar situation in a different context. In fact my trait itself has the metadata defined and doesn't expect anyone else to implement it, it is just "attached" to the trait.
I found a good answer to this question here: Why doesn't Rust support trait objects with associated constants? - Stack Overflow
Essentially from my understanding it boils down to the fact that functions are in the vtable and constants are not. Which raises the question: can't constants be added to the vtable too?
My thinking is the following: if I can define a default function that returns the value, but no the constant with the same value, then I should also be able to define a const method that returns the same value (currently unstable feature), at which point function a constant looks surprisingly similar to a const method with no arguments
UPD: Someone already proposed that years ago: Make associated consts object safe - language design - Rust Internals