Why does YAML parser strippes out underscore?
It's actually a native YAML issue. As Saltstack's YAML Inconsistencies page observes:


  If a definition only includes numbers and underscores, it is parsed by YAML as an integer and all underscores are stripped. To ensure the object becomes a string, it should be surrounded by quotes.


It's fairly common practice; Java does it too, for example

So wrap your ID in quotes and it should be fine.