You didn't mention TAB in your keys that you have tried, although you also said 'press return again to move on' which may suggest you have modified the 4ad to uselegacy keys rather than native keys.
What you can also do is automatically move on when there is only one value left. So as part of ON CHANGE
IF list.getLength() = 1 THEN
LET value = list[1].value
CALL DIALOG.setCompleterItems(NULL)
NEXT FIELD NEXT
END IF
I have an example that uses that technique here
https://github.com/FourjsGenero/ex_autocomplete, if the autoset checkbox is checked, then that will occur.