Вы используете один и тот же список (answersList) каждый раз, когда устанавливаете запись на карте, поэтому этот список становится вспомогательным списком для всех значений на карте. Таким образом, каждое изменение, которое вы вносите в список ответов, будет реплицироваться на все значения на карте. Вы могли бы видеть это, если бы вы поместили оператор печати после answersList.clear (); линия, это напечатает вашу карту с идентификаторами, указывающими на пустые списки.
Чтобы это исправить, вам нужно создать копию списка ответов для каждого значения, которое будет помещено в карту:
answers[qid] = List.from(answersList);