After some time of posting this, I managed to find the solution.
Situation: I am serializing a date from a C# ControllerAction and saving it in a js variable. Then I convert it to a js date using toISOString, but the resulting js date shows as the previous day. My assumption is that the issue lies with the dateTimeOffset, however, I am unsure how to address it. I attempted to retrieve the local TimeZoneOffset and add it to the js date, but did not succeed. The objective here is to send back the same date to the C# controller in the format "yyyy/mm/dd".
function getFormattedDate(inDate)
{
console.log("inDate=" + inDate); // = /Date(1564610400000)/
var d = new Date()
var tzDifference = d.getTimezoneOffset();
console.log("datetimeOffset=" + tzDifference ); // =-120
var date = new Date(parseInt(inDate.substr(6)));
// CORRECT date=Thu Aug 01 2019 00:00:00 GMT+0200 (South Africa Standard Time)
var res = date.toISOString().slice(0, 10).replace(/-/g, "");
// res=20190731 (C# has it as 2019/08/01 00:00:00) so res should be 20190801.
var yr = res.substr(0, 4);
var mth = res.substr(4, 2);
var dy = res.substr(6, 2);
var dateFormatted = yr + '/' + mth + '/' + dy;
return dateFormatted;
}