Why some Arduino LEDs are not grounded
It works perfectly fine as is.

The output of a microcontoller can be set to high or low.  

High is just connecting the output to Vcc through a transistor inside the processor.

Low is just connecting the output to ground through a transistor inside the processor.

All it changes is what value you have to write to the output pin.

If the LED is connected to ground, then you write a high to the output to make the LED light up.

If the LED is connected to Vcc, then you write a low to the output to make the LED light up.

No difference in function, you just have to use a different output value.



That said, some chips are better at sourcing current (better for output high) and some are better at sinking current (better for output low.)

If you need to get maximum brightness without damaging the chip and without using external transistors, then it matters which is which.

When in doubt, use an external transistor.