I agree your sample seems fine.
I changed it a bit to match the use model I had.. Mainly I was using ViewModel binding and the model was a POCO with fields.
I now have two autoComplete fields now to demonstrate the apple/orange behavior.
The first binds to the ViewModel.Source which is just a List<string> and this works, just as your example works. Start with T and I get Tennessee and Texas.
The second binds to ViewModel.States which is a List<States> and the autoComplete is told to search the Name field.. the Name field dataset is identical to the Source list of strings. But the behavior is different now. start with T and you get only Tennessee. Search for Tex and you see Texas.
I also noted in simplifying the case to remove everything but tennessee and texas... the behavior then matches the first autoComplete.. Only when I add more data.. it starts to behave differently. So I didn't simply the dataset.
O.. I'm not allowed to attach the zip files.