@tamorgen reading thru this twice (and I may go back again and slow down even more) it sounds like there's no "link" between your rulesets. ie, the conditions for AWAY
is being met even though the conditions for GUEST
are, too.
What does your AWAY
ruleset look like?
Here is my GUEST from AWAY
ruleset (I don't have the luxury of surfacing the individual user code so I'm stuck being a bit more generic, ie "lock unlocked". As HOME
requires my presence, this has been doing the trick.) My only issue: sometimes the lock is slow to report it's state so I've asked my authorized guests to enter their code, count to 10, the open the door. That let's Hubitat Safety Monitor to disarm.

Here is my Change to AWAY
for comparison sake.

@toggledbits gave me very sound advise early on as I was prone to making my rulesets "do too much" in addition to waaaaaay overthinking/overcomplicating things.
Instead of trying to make a ruleset that determines presence AND tries to set mode, just have it determine presence. Have one for your immediate family and one for your guests. Then use the TRUE FALSE state of them in your mode rules. (Saves you countless hours later, too, when you add/remove people from either presence ruleset.)