And if so, how is this supposed to work? Is the client supposed to attach the interface identifier himself, based on the interface the assignment came through?
Interesting. The RFCs don't mention anything about using link-local. I just tried it with a Juniper SSG5 as DHCPv6 server and Mac OS X Lion as client, and it did seem to work :-) The interface that received the DHCP packet became the outgoing interface for the request.
It can make debugging awfully complicated though...