How to convert user-defined struct{T} to struct{Any} without redundant copy?

Still, that’s impossible in any version on any types. The code you have (corrected for typo) doesn’t do what you claim it does, assuming you didn’t define any local names to change the meaning for any of the operations.

julia> x = Int[1]
1-element Array{Int64,1}:
 1

julia> isimmutable(x) # => false, so `===` performs comparing by reference, which checks if lhs and rsh are same.
false

julia> x === convert(Vector{Any}, x) # => true
false