There is a need in monospace fonts like DejaVu Sans Mono to have underscore character (ASCII 95, U+005F LOW LINE, "_") having its width smaller than total advance width of the character. So that when it occurs twice or more one by one, it would look that there is some space between them. Monospace fonts are used in console or for typsetting programs and there is a need that it is seen with ease that we have one, two or more underscore characters, they should be easily differentiated when occuring one by one (cf. from code in Python programming languge: x.__add__(2) ). It is like "small character L" (l), "capital character i" (I) and "digit one" (1), they should be easily recognized and in DejaVu Sans Mono they really are. With the width of underscore character there is the same need. Thank you in advance.
I think it is better to have some tiny both left and right side-bearings for underscore character, not only left or right one. In general, some space should be easily seen even in small sizes.
For the purposes of drawing continuous lines or box or table borders with just characters one should use \u2500-\u254B and other charcters.
It looks like what you describe was the original behaviour of the underscore in Mono, but it was changed in 2.3 two years ago.
I guess this is mostly user preference. What do others think?