The difference in meaning mirrors the difference between provenance and travel origin.
'Aus' would typically mean that the denoted location is the place of birth or long-time residency, regardless of the geographical status:
- aus Laim ( from Laim, a Munich borough])
- aus München ( from Munich )
- aus Bayern ( from Bavaria )
- aus Deutschland ( from Germany )
- aus den Alpen ( from the Alps )
In this context, 'stammen' can usually stand in for the verb 'kommen'.
'Von' refers to an origin of travel and is often used in the context of a travel description or route discussion
- ich komme von München und fahre nach Köln
(I'm coming from Munich and go to Cologne)
Using 'von' denoting somebody's provenance has a quaint connotation reminding of close-knit and archaic communities where people are usually addressed by their given names, not being known by their family name but rather by their community affiliation:
- Ich bin Hans von Ramsau ( I am John of Ramsau )
A possible reason might be that a family name may carry less information than the location of residence, especially in communities where family names are still closely related to occupation or role in life ( 'Miller', 'Smith' ) - you'd have 'Miller's in about every village of a region, while the village names probably differ.
Note that this is not to be confused with the titles of the nobility ( eg. Graf August von Hohenzollern [ Count August, House of Hohenzollern ] ).