Packet marks are really just values in a data structure holding the packet in the router internally. Only the packet itself is sent to an interface not anything else outside the packet (the packet mark is outside the packet). What mknnoc is suggesting is correct for a layer-3 model. In more detail, you first add a mangle rule stripping any DSCP value from the packets then you add a mangle rule matching a packet mark and force a new DSCP value on the packet. On the next router, you add a mangle rule matching the DSCP value and set a packet mark.
You can also use a layer-2 method but that involves overloading VLAN's and/or 802.11p bits to communicate the packet marks. The DSCP method is rather easy once you've worked out the details.