All actions and macros and stored in the same document and triggered when something happens in the document. Most of these macros and actions doesn't work when opening the document on the server (ajax, plugin, "Open in Server" in Desktop). Opening triggers will not work server side.
Yes, you can keep the saved selection state just fine IF you set the right options in Publisher. Unfortunately, I no longer have Publisher v8.5, and can't say for sure what the right options are. I think it was a rather counterintuitive setting of three different checkboxes in some particular pattern. Basically, I checked every combination of the three until it finally worked, and then just copied from that into other documents.
I actually recommend going the macro route, though. It's good protection against developers fiddling around with selections, saving, and then installing, and forgetting that they'd changed selections. I've done it several times myself. It also allows for more complicated selections, such as selecting the current month, without needing to reinstall on the first of each month. While in theory, triggering a macro OnOpen on the server is not supported, it always worked for us.
As far as where the current selection state is stored, my belief is that it is a direct part of the document, not in a cookie or registry entry or anything like that. My belief is that QlikView Publisher is overriding that selection if you don't have the right options set. I don't have any data to back that up, though.
Version 9 publisher appears to default to keeping your saved selections, so it's a little easier in that regard.