Should I use underscore or hyphenated tokens? When displaying tokens that can be used I often see this type of thing:


I have seen that there are a number of d.o issues on this; one in particular is extensive and detailed. But is there a reason to use the dashed one or the hyphened one? There may be a D8 migration reason for all I know?
Tokens are just arbitrary strings, Drupal doesn't mind which characters are used to indicate separation of words (some characters are blacklisted, like ], but for the most part that's true). All that matters is the module that provides them, e.g. Entity in this case, knows how to interpret them when it needs to.

The issue you referenced has two key core contributors debating it, without a resolution, so there simply isn't a standard to apply to this.

Both sets of token provide the same data, so it's a matter of personal preference which one you use.

Since the Entity module provides more field tokens than core modules do, you might end up standardising your site better over time if you choose the ones provided by Entity. But YMMV, in real terms it doesn't matter.