Une saveur un peu différente (peut-être plus lisible pour certains), il fonctionne en JavaScript et, en prime, il fonctionne en TypeScript también.
Si vous vous assurez que la première date est toujours supérieure à la seconde, vous n'avez pas besoin de Math.abs(). De même, les parenthèses rondes autour de l'opération modulo sont inutiles. Je les ai gardés pour des raisons de clarté.
let diffTime = Math.abs(new Date().valueOf() - new Date('2021-11-22T18:30:00').valueOf());
let days = diffTime / (24*60*60*1000);
let hours = (days % 1) * 24;
let minutes = (hours % 1) * 60;
let secs = (minutes % 1) * 60;
[days, hours, minutes, secs] = [Math.floor(days), Math.floor(hours), Math.floor(minutes), Math.floor(secs)]
console.log(days+'d', hours+'h', minutes+'m', secs+'s');