Take CR and LF literally
Charcoal, 10 bytes

ＵＴＦθ«ι≡ι⸿↑


Try it online! Link is to verbose version of code. Explanation:

ＵＴ


Disable right padding.

Ｆθ«


Loop over the input.

ι


Print the current character. This automatically handles \n (which Charcoal treats as \v in this context) but Charcoal translates \r into \r\n, so...

≡ι⸿


... check for an \r...

↑


... and if so then move back up a line.