Could you not also do this through the Pawn itself? The Pawn has a reference to the PlayerState so you could just watch for changes in the Pawn’s tick.
If you wanted to do something Async you could setup a delegate that gets fired whenever you replicate the color variable.