Traffic shaping and QoS using prerouting and forward chains

I want to implement traffic shaping according to IPs address list and QoS.
I read the document (MikroTik RouterOS Workshop QoS Best Practice). I defined an address list, added a firewall mangle in the “forward” chain that marked packets coming from the previous address list, then added pcq and queue trees for download and upload. It worked fine.

Now, I want to add QoS similar to the one in this page: Traffic Priortization, RouterOS QoS Implemetation.
However, I don’t want to add it to the forward chain and specify the IP address list. I have more than one address list, each having different queues with different rules. This would mean I would have to repeat the QoS for all the address lists.
I read in the first document that I can prioritize traffic and add the mangle rules in the “Prerouting” chain and then define different queues for different traffic types.
Is it possible to add this traffic prioritization in the “prerouting” chain and the traffic shaping according to IP address lists in the “forward” chain? Will be effective?

Thanks

the way shown in Janis Megis’ presentation is the most optimal way of double prioritization