OrdinaryDiffEq solve: "TypeError in setfield!" when using MVector

I get an error

TypeError: in setfield!, expected Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int64}}, Base.RefValue{Int64}}, got a value of type Tuple{LinearAlgebra.LU{Float64, StaticArraysCore.MMatrix{4, 4, Float64, 16}, Vector{Int64}}, Base.RefValue{Int64}}
(difference is Matrix vs MMatrix)

while calling OrdinaryDiffEq’s solve with algorithm AutoTsit5(Rodas4P()) or Rodas4P(autodiff=false). Minimal (non-)working example:

using OrdinaryDiffEq, StaticArrays

function mwe_rule!(out, u, p, t)
	out .= -u
	nothing
end

# ↓ this will work
u0 = zeros(4)
# ↓ this will throw the error
#u0 = @MVector(zeros(4))
p = ODEProblem(mwe_rule!, u0, (0., 12.))
sol = solve(p, Rodas4P(autodiff=false))

This was weird to find, because in my case I am working with disturbed systems and the error only occurs with very small disturbance strengths. Happens on OrdinaryDiffEq v6.58.0

Edit: Seems this is fixed by an upgrade to OrdinaryDiffEq v6.59.0, possibly related to #2052