In one of its possible output modes, kraken2 will give you read-level and kmer-level information about how it came to its conclusions about taxonomic assignment. You've provided a lot of detail in your question about your process of generating the data, and the taxon assignment table, but I expect your specific question will best be answered by digging deeper into your own data.
To explain a bit further, individual reads are assigned to a taxon based on the kmer assignments for that read (i.e. each kmer within a read essentially votes for the read taxon). The behaviour of assignment after changing the database is unpredictable at a read level because the kmer assignments will change. Even if diversity is increased, that increased diversity will alter the "votes" from the kmers, and could result in a particular taxon crossing a threshold (and increasing in apparent abundance) because other taxa now have fewer votes.
In any case, Kraken2 is known to assign taxa in a way that is not necessarily a good representation of the actual content. If you want to make statements about the proportion of different taxa in your samples, I'd recommend that you try out using Bracken on your Kraken2 results. It will correct some assignments based on sequence similarities in the database:
Bracken is a companion program to Kraken 1, KrakenUniq, or Kraken 2 While Kraken classifies reads to multiple levels in the taxonomic tree, Bracken allows estimation of abundance at a single level using those classifications (e.g. Bracken can estimate abundance of species within a sample).