If you let JavaScript convert to text, it should save it with the "Z" timezone so Excel or other tools should be able to convert at point of use by a person. Or if the CSV ends up in a DB or another system, you should be sticking with UTC anyway.
Ignoring DST.
If doing this in node.js, you don't need any custom functions I don't think.
let myutc = new Date()
return myutc.toLocaleString('en-US', { timeZone: 'EST' })
Gives the date/time in format local to Eastern Standard Time which is UTC-5.
This will take care of the occasional changes to DST swapovers and will deal with those awkward times that are on the swapover itself, usually 2am.