I'm not sure if there is a reason for this, but, like the title say, constant variables aren't always replaced, eg:
/** @const */ const VALUE = 1;
var a = 2;
console.log(2 | VALUE); // Works: produces "console.log(3)"
console.log(VALUE + 1); // Works: produces "console.log(2)"
console.log(VALUE); // No replacement: produces "console.log(VALUE)"
console.log(a & VALUE); // No replacement: produces "console.log(a & VALUE)"