OK, this started bugging me. I kept asking myself questions like, "How could I have never noticed that Finder was a launch agent?"

It occurred to me that maybe my earlier tests were under Tiger, and maybe the situation there was different. It turns out Tiger does not even have a /System/Library/LaunchAgents folder (which I'm pretty sure I had noticed before), nor is there a per-user copy of launchd. The command launchctl list com.apple.Finder and even just launchctl list both come up empty. (You need to use sudo launchctl ... to get any interesting output.)

Nevertheless, although the mechanism is different, the behavior is the same. "Relaunch Finder" and force quit Finder and killall Finder all do the same thing: Finder gets no chance to clean up after itself. It doesn't even get to update how many windows it has open, let alone their size, position, view, or current folder. Only when you 'tell application "Finder" to quit' does it get a chance to clean up and terminate gracefully.