It appears as though having two different search indexes in the same Smart Search Results web part is causing the problem. In the "Indexes" field of the web part I had this:
"CodeName.People;CodeName.DocumentsSearch"
When I remove "CodeName.DocumentsSearch" I get the correct results back from the "CodeName.People" index when I search for "Tiffany".
I get the correct results when I use two different "Smart search results" web parts for each index on the same page as well. Using two different web parts should work but it seems like there is still an issue when using two different indexes in the same Smart Search Results web part or the settings on the indexes are conflicting. Just for reference, the "CodeName.DocumentsSearch" index is using the "Stop words with stemming" analyzer type.
Chetan, after reading about the difference between subset and standard analyzers it appears that standard may be more efficient. I switched to standard as a quick test, rebuilt the index and cleared the system cache. When searching for 'Tiffany', with the standard index, the search returns the correct results, but when searching for 'Tiff' the search returns nothing. Therefore, the standard analyzer does not meet our requirements. Thanks for the suggestion!
Roman, I tried rebuilding the index but the results were still incorrect and yes, Tiffany is found in the Kentico admin when I search for 'Tiffany' or 'Tiff'. Thanks for the help!