So if I get what you’re saying
You want to know how to make all this work on an auth server with character interaction fundamentally.
In my case, I use uLink as my server solution and everything that appears on the client is a proxy of something that exists on the server. Each character, NPC, interactive object is spawned on the server, with a proxy being sent to the client via a game controller using serialised RPC calls and each relevant object also having a network view on it.
Any interaction… lets say triggering a dialogue or a combat, is done when the player character on the server interacts with the NPC on the server, nothing at all to do with where they are on the client machine. The player in effect sends a command to say… swing my sword, the server then does so and determines if the sword hit anything and responds with the result. The barrel blows up and goes flying through the air on the server, with the network view sending that to the clients. All physics is on the server, I don’t bother with it on the client, because everything on the client is just a proxy.
As a result of this, my servers run headless in the cloud with absolute basics on them… buildings are just blocks with the same dimensions as the ones on a client, the characters and all objects are lowest poly proxy copies, not even with any animations on them. This keeps the server operating fast enough to ensure all the clients are getting regular updates from the serialisation from client - server - proxies.
My server never drops below 60FPS and actually is limited to not go higher than that so as to synch the messages backwards and forwards. The clients can sometimes drop to 30FPS in heavy areas, but as long as your network messages are all correctly timestamped, then missing one or two won’t be a major issue.
If my loot table needs an item, it looks it up from a Db connected to the server and then sends a reference to the client so the client can turn a number into a snazzy 3d object locally. I have no Db’s connected to a client, all Db info is done by the client as a request to the server with a response from the server. 
The only time I don’t go through a server from the client is initial Login or Character setup which operate purely clientside through PHP to an account server which then sends info to the Game Server when validated so as to not let anyone near the game server until they are fully validated and have a character to play…
So really I would push you towards version 2 in your chart 'cause I know that for me, that works well.
Regards
Graham