I'd think it has to do with the router DTS file and the aliases in it. OpenWrt has several states that have Leds assigned to them in the DTS.
led-boot = &led_internet;
led-running = &led_internet;
It flashes the boot Led during boot up and sets the running Led to solid once boot has finished.
In your case, using rc.local, you are trying to alter the state of the power Led during boot up. That will work until the boot is finished and then the Led is set to solid, negating any action you took with it since the boot and running Leds are the same.