I can't speak to any lore reason for this, but from a technical side, I can give you a high-level analysis of how this is meant to work.
In general, a bounty is incurred when the following things happen:
- The player commits a crime.
- An NPC witnesses it. This may or may not be the victim. In the case of assaults and unsuccessful pickpocketing, the witness will usually or always be the victim.
- The witness belongs to some crime faction. A few NPCs, such as M'aiq the Liar, do not belong to any crime faction, and are unable to report crimes; this is also typical of hostile NPCs such as bandits, but assaulting them is never a crime in the first place.
- The witness's crime faction is configured to handle crimes in the usual fashion (i.e. it's not something like CrimeFactionThievesGuild, which instead triggers Reparations when a crime is reported).
- (The bounty can be cleared by quickly killing all potential witnesses in the area, but that is a separate process that happens after a bounty has already been incurred.)
In the case you describe, the witness somehow ended up being in the faction CrimeFactionRift, which in vanilla Skyrim should consist entirely of people who live in or around the Rift, and not in Whiterun. If you are using mods, I would suggest checking Hulda's Actor record in xEdit (base ID 00013BA3 - do not use the ref ID as factions are set on the base record) to see whether some mod has altered her crime faction. In vanilla Skyrim, she should be in CrimeFactionWhiterun, so I don't know why that would happen, but I suppose anything is possible. You can also use mods like More Informative Console (or the GetFactionRank
console command) to check her faction membership, since the base record just tells the game what factions she starts with, and factions can change during the game.