Should I use underscore or hyphenated tokens?
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.