Matrix.PerspectiveFovLH documentation page says that this method uses the following formula to build a perspective projection matrix.
[w, 0, 0, 0] [0, h, 0, 0] [0, 0, zFar/(zFar - zNear), 1] [0, 0, -zNear * zFar / (zFar - zNear), 0]
h = cot(fovY / 2) w = h * aspectRatio
DirectXMath's DirectX::XMMatrixPerspectiveFovLH uses the same formula but with a difference. It calculates w as w = h / aspectRatio therefore creates a different matrix.
There is a difference between orthogonal projection matrix building too.
Why are there such differences or am i missing something?