Да, потому что у вас есть встроенный стиль в вашем SVG. Вы можете сохранить его и добавить! Важные для вашего css
#N {
fill: #000 !important;
}
или сделать следующее
#N{fill: #000;}
<svg class="compass-svg" width="200" height="200">
<polygon fill="#fff" stroke="#000" stroke-width="1" id="N" points="100,10 125,50 100,100 75,50"/>
<polygon fill="#fff" stroke="#000" stroke-width="1" id="NE" points="155,45 150,75 100,100 125,50"/>
</svg>
И если вы хотите, чтобы заливка изменилась при наведении, просто добавьте: hover к # N
#N:hover {
fill: #000 !important;
}
ИЛИ
#N:hover{fill: #000;}
<svg class="compass-svg" width="200" height="200">
<polygon fill="#fff" stroke="#000" stroke-width="1" id="N" points="100,10 125,50 100,100 75,50"/>
<polygon fill="#fff" stroke="#000" stroke-width="1" id="NE" points="155,45 150,75 100,100 125,50"/>
</svg>