Почему не получается получить отрицательное значение transform: translate()?
Может потому что следует учесть минус в регулярном выражении?
alert(info);
	alert(info.match(/matrix\(\d+, ?\d+, ?\d+, ?\d+, ?(\d+)/)[1]);
  alert(info.match(/matrix\(\d+, ?\d+, ?\d+, ?\d+, ?\d+, ?(\-\d+)/)[1]);
отсутствие минуса и пробелы(отсутствие или лишние) в регулярке...
Вот такой вариант будет правильнее:
const values = info.match(/matrix.*\((.+)\)/)[1].split(', '),
   			x = values[4],
                        y = values[5];