You can use glyphtounicode. Differently to cmap it will work with virtual fonts too.

    \documentclass{article}
    \usepackage[T1]{fontenc}
    \usepackage{mathptmx}
    \input{glyphtounicode.tex}
    \pdfgentounicode=1
    \pdfglyphtounicode{less}{3008}
    \pdfglyphtounicode{greater}{3009}
    
    \begin{document}
    
    < >
    
    \end{document}

If you compile with pdflatex you can copy the brackets e.g. to notepad. This will work fine, but in an ascii editor (e.g. winedt) the result is not correct.

Edit. I just remembered: Another possibility is `accsupp`. It work with pdftex, luatex + xetex:

    \documentclass{article}
    \usepackage{accsupp}
    \begin{document}
    \BeginAccSupp{method=hex,unicode,ActualText=3008}%
    angleleft%
    \EndAccSupp{}%
    
    \end{document}