So… What’s the problem? If you’re simply asking if it’s correct, then yes, and no.
I wouldn’t be bothered with the overhead of actually marking the packets…
add chain=dstnat in-interface=Internal src-address=x.x.x.2 \
protocol=tcp dst-port=80 src-address-list="Everyone" \
dst-address-list="!Everyone" action=accept comment="Transparent \
Cache Service is excepted from the dst-nat rule" disabled=no
add chain=dstnat in-interface=Internal protocol=tcp dst-port=80 \
src-address-list="Everyone" dst-address-list=!noHTTPProxy \
action=dst-nat to-addresses=x.x.x.2 to-ports=3128 comment="" \
disabled=no
First rule allows the Squid box to pass through the MT without going in the dst-nat - otherwise, you’ll have proxy loops. Second one dst-nat’s everything going to port 80/tcp, to the proxy server.
From the looks of it, your squid config looks fine, you obviously need the correct ACLs in squid and all that, but I suspect you know that