Segue aqui a minha solução do problema, no qual eu incrementei o programa para caso as variáveis initialXPos e initialYPos sejam alteradas, o desenho se movera proporcionalmente a elas. (Ao invés de utilizar variáveis e constantes, eu sei que poderia ter transformado tudo em parametros de uma função mas deu aquela preguiça hehe).
const tela = creeper;
let pincel = tela.getContext('2d');
const canvasWidth = 350;
const canvasHeight = 300;
let initialXPos = 0;
const eyeWidth = 90;
const noseWidth = 70;
const mouthWidth = 40;
const creeperWidth = eyeWidth * 2 + noseWidth;
let initialYPos = 0;
const eyeHeight = 90;
const noseHeight = 100;
const mouthHeight = 110;
const creeperHeight = eyeHeight + mouthWidth + mouthHeight;
function drawRect(color, x, y, width, height) {
pincel.fillStyle = color;
pincel.fillRect(x, y, width, height);
};
initialXPos = (canvasWidth / 2) - (creeperWidth / 2);
// initialYPos = (canvasHeight / 2 ) - (creeperHeight / 2);
drawRect("darkgreen", 0, 0, canvasWidth, creeperHeight);
drawRect("#000", initialXPos, initialYPos, eyeWidth, eyeHeight);
drawRect("#000", initialXPos + eyeWidth + noseWidth, initialYPos, eyeWidth, eyeHeight);
drawRect("#000", initialXPos + eyeWidth, initialYPos + eyeHeight, noseWidth, noseHeight);
drawRect("#000", initialXPos + eyeWidth - mouthWidth, initialYPos + eyeHeight + mouthWidth, mouthWidth, mouthHeight);
drawRect("#000", initialXPos + eyeWidth + noseWidth, initialYPos + eyeHeight + mouthWidth, mouthWidth, mouthHeight);