Solution according to the Question :-
As the question says -
... On every transpost to physical 'h' bytes of header is uploaded ...
So, we can take as total header size that is attached to the frame during the Transport Layer to Physical Layer is $h$ Bytes.
Message size $= P$ Bytes $= 2h$ Bytes.
$\therefore$ Total frame size in Presentation Layer $= (2h +h)$ Bytes = $3h$ Bytes.
$\therefore$ The overhead percentage $(\%)$ due to a header in the link is $= \frac{Header\ Size}{Total\ Frame\ Size} = \frac{h\ Bytes}{3h\ Bytes} \times 100\% = 33.33\%$
Solution according to Doubt:-
If the question does not mention the below line -
... On every transpost to physical 'h' bytes of header is uploaded ...
then we can solve the question according to below approach -
On every layer from transport layer to physical layer, 'h' bytes of header is uploaded.

As we can see from the above image -
As the overhead percentage due to headers on the link asked, header of Transport Layer, Network Layer, Data Link Layer & Physical Layer headers are overhead.
$\therefore$ Total Header Size = $h$ Bytes $+ h$ Bytes $+ h$ Bytes $+ h$ Bytes $= 4h$ Bytes.
$[$NOTE: Trailer can cause overhead, but as it is not mentioned in the question so we can take Trailer as negligible value and we can ignore it$]$
Given, Message Size $= P$ Bytes $= 2 \times Header\ Size =2 \times h = 2h$ Bytes.
$\therefore$ Total Frame Size $=$ Message Size $+$ Header Size $= 2h + 4h$ Bytes $= 6h$ Bytes.
$\therefore$ The overhead percentage $(\%)$ due to a header in the link is $= \frac{Header\ Size}{Total\ Frame\ Size} = \frac{4h\ Bytes}{6h\ Bytes} \times 100\% = 66.67\%$