The short answer is if you're using moment.js, then use it for the whole calculation (see below).
Your algorithm for subtracting 3 days doesn't work because the algorithm is wrong. A "working" version of the OP code is at the bottom. Given:
var timestampMinus3Days = timestampNow - (timestampNow % (interval1H * 24 * 3));
where timestampNow is an ECMAScript time value and interval1H is 3.6e6 ms.
The time value is milliseconds since 1970-01-01 UTC (the ECMAScript epoch) and %
is a remainder operator, which is like modulo but not quite.
The expression timestampNow % (interval1H*24*3)
divides the time since the epoch by 3 days and gets the remainder, so you're setting the new date to an integer multiple of 3 days from 1 Jan 1970, not 3 days ago. So once every 3 days the calculation will return a date for 3 days ago, and on the other two days it will return a date for 1 or 2 days ago.
The remainder also includes the time in the current day UTC, so if you're getting 00:00:00 your timezone must be +0 (GMT or UTC). Others will get a time equivalent to their timezone offset and a date for the previous day if their offset from UTC is negative.
Here's how to do it with moment.js and avoid messing with time values:
// 3 days ago from now
console.log(moment().subtract(3, 'days').format('DD.MM.YYYY HH.mm.ss'));
// 3 days ago at the start of the day
console.log(moment().subtract(3, 'days').startOf('day').format('DD.MM.YYYY HH.mm.ss'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
Working version of OP code:
var timestampNow = moment().valueOf();
var interval1H = 60 * 60 * 1000;
var timestampMinus3Days = timestampNow - (timestampNow % (interval1H*24*3));
console.log("Calculated time: " + moment(timestampMinus3Days).format("DD.MM.YYYY HH.mm.ss"))
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>