Изображение, которое вы пытаетесь отобразить, не является прозрачным, оно просто имеет прозрачный клетчатый фон.
Ссылку на изображение с прозрачным фоном можно найти здесь
Использование этой ссылки решает вашу проблему:
var can = document.getElementById('canvasId');
var ctx = can.getContext('2d');
ctx.fillRect(50, 50, 500, 500); // something in the background
var img = new Image();
img.src = "https://cdn.sstatic.net/Sites/stackoverflow/img/apple-touch-icon@2.png?v=73d79a89bded"; //transparent png
img.onload = function() {
ctx.drawImage(img, 0, 0);
}
canvas {
border: 1px solid black;
}
<canvas id="canvasId" height="300" width="500"></canvas>