Appstream picks any version available, when moving to new Applications and/or Plasma releases this causes a transition period where old data may be picked and thus not show up in Discover.
To fix this the snapshotting process should include a step that removes all but the latest version of all packages. Thus preventing appstream from picking a wrong version. This would be a partial version of what repo_cleanup.rb already does, which cleans more than one repo. Ultimately the logic is probably the same and it may be feasible to refactor the existing repo_cleanup code to support both a mass-clean and a per-repo cleanup. So it can be used during snapshotting.
*Great care must be taken that building of release jobs is REALLY blocked during this time! Otherwise reentrancy can become a huge problem potentially breaking the repo or loosing packages!*