Since in the annotation gtf file I see "exon" and "CDS".
chr1 unknown exon 3214482 3216968 …...
chr1 unknown stop_codon 3216022 3216024 …...
chr1 unknown CDS 3216025 3216968 …...
chr1 unknown CDS 3421702 3421901 …...
chr1 unknown exon 3421702 3421901 …...
Can I use GTF.featureType="CDS" to test the differential expressed genes based on CDS? Is this acceptable? Does this behavior have big flaws? (In my underanding, CDS is more meaningful, since differential expression at the CDS level indicates potentially different protein outputs...)

Exons. Differential expression analysis utilizes gene annotation file which contains full length transcripts, including 5' and 3' UTRs.
Since in the annotation gtf file I see "exon" and "CDS". I thought edfferential expressed gene analysis could be based on CDS, which is more meaningful in my understanding