You could do both, it depends on how the AP is deployed. But I would always recommend using DSCP for a couple of reasons:
1. You can only trust CoS if you have a VLAN tag (trunk links) because the 802.1p tag goes in the 802.1q header. So, If you have FlexConnect Local Switching, you will be tagging the users VLANs and then you can trust CoS for the Users traffic.
2. However, the CAPWAP traffic from/to the AP is on the Native VLAN if it is a trunk or on the Access VLAN if it is an access port. By default those ports do not have any 802.1q header, therefore there is no CoS to trust.
3. DSCP is at the IP Header, so it does not get lost over the path, unless any device re-writes the value.
Hope that helps.
** Please rate helpful posts **
CCIE #58023