Hi Maria,
thanks for the feedback.
The local strategy in BowTie2 (and in any aligner in general) will find a hit of a read against a target sequence even if only a fraction of the read matches the target. A non-local (or global) strategy requires a good sequence homology along the full length of the read. A 28nt-long match for a 30nt-long portion of a 101nt-long read is a hit for a local strategy but not for a global one. A 97% identity over the full length of 100nt would be a hit for both the global and the local strategy.
In MetaPhlAn, a local strategy can produce false positives because of conserved very short DNA sequences that can sometimes be present even in marker genes.
Blastn is, by definition, a local aligner. The "local" behavior is frequently not evident for short reads because the default word size (ws) is quite large (around 30) avoiding local hits for non-identical matches of even longer length (even 50nt unless the mismatch is peripheral). Given that you greatly decreased the ws to 12 to improve sensitivity (I agree that the default value makes Blastn not accurate enough), you also made Blastn to behave in a much more local way than the default.
A check you could do would be to post-process the blastn hits (e-value cut off e-10, ws 12) and consider only those with a matching length longer than, say, 75nt (the matching length is in one of the columns of the standard Blastn tabular output format). In this way you are making Blastn global (assuming Blastn is reporting long matches even if their e-value is lower than shorter subsequences) and the MetaPhlAn behavior should be much more similar to BowTie2 (non-local) "sensible".
In summary, I think that the real differences in mapping are not depending too much on the algorithm (BowTie2 vs Blastn) but more on the local vs global mapping policy. I would recommend a global strategy to avoid false positives, whereas a local strategy can sometimes be useful for metagenomes without closely related sequences genomes (like in some non-human microbiomes).
An aspect that I would like to underline not only in this context, is that for MetaPhlAn, differently form other approaches, the number of mapped reads is _not_ a proxy for the quality of the profiling.
Sorry for the technicalities here, but I hope this clarifies a bit what you are seeing in the results...
many thanks
Nicola