A PFB file can (and usually does) contain a CMap resource that's used for establishing a mapping from glyphs in the PDF file to Unicode; when one selects a glyph in the PDF file and does a “copy”, the code point provided by the mapping is stored for later choosing what character to paste.
The CMap resource in cmtt10.pfb maps the glyph resulting from the character is slot 0x7E (octal 176) to U+007E (I don't know if it actually has such a resource, but it's not really important).
The resource in lmtt10.pfb maps the same glyph to U+0303 (COMBINING TILDE) which may be regarded as a more sensible choice, looking at plain.tex that defines
\def\~#1{{\accent"7E #1}}
So it's not a bug, but a designer's choice.
Can one change this from the TeX side? Maybe, by replacing the CMap resource at font loading time (see https://tex.stackexchange.com/a/22551/4427 for an example).
.pfbfile, which is (almost) totally out of control from the TeX side. On the other hand, the glyph is the one used for the tilde accent, so the choice of mapping it to U+0303 is not without reasons. – egreg Dec 03 '15 at 08:34