Readonly modifier is applied to actual type it assigned to. So in this case it assigned to an Array type instance, but not to a elements present inside it.
That's why, yes, you still able to change element value, but the code like
public void Update()
{
a[0] = new int[3];
}
will fail, as you're going to change Array type instance (and not its content)
Hope this helps.