Concordo com essa divisão de responsabilidades. A única ressalva é justamente na expressão “mascarar agressivamente”: eu prefiro mascarar por contrato, não por conveniência. Cada máscara deveria declarar por que aquele campo é não determinístico e quem revisa essa exceção.
Se um elemento funcional entra na máscara só porque flutua muito, o ruído provavelmente está no seed ou no ambiente e precisa ser corrigido antes do baseline. Assim o screenshot continua sendo evidência, não decoração do teste.