Asterisk cannot act as a proxy, it is a B2BUA. If you want to make its behavior appear to be a proxy, there are a number of things you can do, but it will never just ‘pass along’ headers from an incoming INVITE to an outgoing INVITE.
When Asterisk rewrites the from header when CallerID(num-pres)=prohib_screen is set, acts exactly as it should. How else do you think should it prevent sending out the callerid name or num when you set it to prohib?
Asterisk doesnt support the privacy header for outgoing calls so changing the name and number is the only way to do this. Maybe you could do this in your dialplan with SipAddHeader(“Privacy: full”) instead of setting the prohib flag. In the Remote-Party-ID header is a special privacy option which Asterisk sets when using this header so you will see the original values there but privacy is also set to full.