Well, it should be noted that if you use a tool like STAR, etc. to align directly to the transcriptome you often get a better mapping rate (for the transcriptome) than if you map to the genome directly and project those alignments. There are a number of reasons for this, but one of them is that you can often recover reads that would otherwise span exon junctions in difficult and precarious ways (since they are contiguous in the transcriptome). That being said, you will miss reads that map outside the reference transcriptome or in places where the reference transcriptome is wrong.
However, one of the core motivations for tools like Salmon, RSEM, eXpress etc. working in the way they do is that it allows a uniform interface to quantification in both reference and de novo transcriptomes. In the reference case, I can use a GTF to extract the transcripts to their own fasta file. However, in the de novo case since I'm mapping to a set of sequecnces that I believe to be a direct proxy for my transcriptome, a reference genome is not necessary (and in such cases, not possible).
I do not know about Salmon, but you are wrong about RSEM: it may estimate read counts either from a transcriptome, or using a genome + GTF file with gene annotations.
Salmon works the same way as RSEM in this regard. For example if you run RSEM with the genome and a GTF file, you first run
rsem-prepare-referencewhich extracts the transcripts from the genome, and then you align to that transcriptome. RSEM doesn't deal with alignments to the genome directly. Conversely, with a tool like STAR, you can also "project" genomic alignments (with the help of a GTF) directly to transcriptomic coordinates. In this case, RSEM, Salmon and eXpress are capable of processing these alignments.