Array promotion: too eager?

I’ve noticed that recent 1.9 nightlies became more eager in converting array elements to a common type. This seems unambiguously breaking, and not sure about the motivation: what were the reasons for such a change?
For example, 1.8 properly keeps both original values as-is:

julia> using StructArrays

julia> A = [StructArray([1+2im]), [3]];

julia> A[1]
1-element StructArray(::Vector{Int64}, ::Vector{Int64}) with eltype Complex{Int64}:
 1 + 2im

julia> A[2]
1-element Vector{Int64}:
 3

While nightly Julia changes types of both elements:

julia> A = [StructArray([1+2im]), [3]];

julia> A[1]
1-element Vector{Complex{Int64}}:
 1 + 2im

julia> A[2]
1-element Vector{Complex{Int64}}:
 3 + 0im

This changes the meaning of perfectly fine and working code.

This might be the same as Change in `AbstractArray` promotion · Issue #45511 · JuliaLang/julia · GitHub which indeed was .a mistake, and will be fixed before the 1.9 release.