行列が必要なのではなく、平行移動と回転は順番によって結果が変わるという話です
どうもunityでは明示的には変えられなくてユーザに対しても順序があること自体を考えさせないようにしてるみたいですね

順番を変更する方法が見つからなかったので
代替手段として親オブジェクトに対するlocalRotationを指定してひとまず目的の動作は出来ました
しかしネイティブ開発に慣れているとこんな基本的なことも自分でいじれないとは・・・
とちょっと驚きますね