When i add a complex validation rule (either value comparison/text found in/text contains) the form highlights the error that they do not match, even though they do?
Try using the comparision value on "confirm email" question rather than doing what you are doing.
When Matrix tries to process the condition on the first question, the second question isn't yet processed. Because of this the answer to second question is empty string, which according to our setting doesn't match the rule and that's why you would get an error even though you shouldn't be getting any.