Hi! Thanks for your reply. Your first point here touches upon exactly what I was asking for. Because GSAP sets transform-origin to 0 and bakes the real one into the matrix, the "baking the real one" operation here involves what I described in my question: in order to rotate around the point (300, 200), the square element needs to be first translated by -300, -200, then rotated by 90, then translated back by 300, 200. These transforamtions are done via matricies, i.e. (T)(R)(T_{-1}).
Right now, if I inspect the SVG code, I can see that GSAP updates the transform attribute of the square element with a matrix every frame, and that matrix is the end product of (T)(R)(T_{-1}). I wonder how I can access T, R, T_{-1} individually, as these matricies have to exist at some point in the GSAP code for it to produce the resulting matrix that is being set as the value for the transform attribute.