Actually I think it has to do with how the links work.
It just creates a link somewhere with a path:
It creates the link rc.local in /etc with path to rc.d/rc.local.
You don't specify the full path so it just creates a link pointing at the relevant path rc.d/rc.local.
Since the link is in /etc the full path for the relevant one IS /etc/rc.d/rc.local.
A link just saves a path. Nothing less and nothing more. The path can be relevant or full.
The same happens with every link:
root@darkstar:/home/skalkoto# ln -s workspace/hello ~/rc.local
root@darkstar:/home/skalkoto# cd ~
root@darkstar:~# ls -l rc.local
lrwxrwxrwx 1 root root 15 2006-05-13 05:10 rc.local -> workspace/hello/