Stains on top of dress? That's right! (4)
I believe the answer is:
dyes
'stains' is the definition.
(I know this)
'top of dress? that's right' is the wordplay.
'top of' suggests taking the first letters.
'that's right' becomes 'yes' (right can mean yes or okay).
The initial letter of 'dress' is 'd'.
'd'+'yes'='DYES'
'on' is the link.
(Other definitions for dyes that I've seen before include "Many a pigment" , "turns green, possibly" , "Colour" , "Stains" , "Substances for staining or colouring" .)