Since when performing filter, the fieldname is either title or the autocomplete_search_field attribute, the render_page should be amended to add returning autocomplete values using autocomplete_search_field attribute of the record.
def render_page(page):
if getattr(page, 'specific', None):
# For support of non-Page models like Snippets.
page = page.specific
if callable(getattr(page, 'autocomplete_label', None)):
title = page.autocomplete_label()
elif getattr(page, 'autocomplete_search_field', None): # added
title = getattr(page, getattr(page, 'autocomplete_search_field', None))
else:
title = page.title
return dict(pk=page.pk, title=title)