I suspect that it was because of this line
//// com.unity.rendering.hybrid@0.5.2-preview.4/Unity.Rendering.Hybrid/InstancedRenderMeshBatchGroup.cs:991
for (int i = 0; i < numProperties; ++i)
{
var flags = shader.GetPropertyFlags(i);
if (((uint)flags & (uint)ShaderPropertyFlags.HideInInspector) == 0) // <<< suspect code
{
Because float4x4 cannot be exposed, it would be flagged as HideInInspector
and so it would not get sent into shader