https://nolanwifi.com/2016/05/15/verizon-android-wi-fi-calling/
This guy found out by capturing the frames that his phone sends the encapsulated vowifi data with best effort. while the ingress frames from his provider were properly dscp marked.
So it probably depends on your phone. Or carrier.
But generally: I do apply connection marks in prerouting chain and then in forward chain mangle based on the connection marks.
When you go with the qos-classifier dscp, then you don't have to "translate" between wmm/priority/dscp. you have dscp the whole path. cake's diffserv can work with dscp.
Whrn the client device does not set wmm or dscp on the frames, this you can't fix with your mangle rules. the path from client->AP remains "best effort". But you can change and have control over the priority/dscp on the path AP->WAN and return path WAN->AP->client.
Usually the bufferbloat happens at WAN egress and not on wireless. Unless your wireless is used for heavy traffic, many concurrent clients which would consume a lot of airtime.