inference: use `ssa_def_slot` for `typeassert` refinement (#56859)
Allows type refinement in the following kind of case:
```julia
julia> @test Base.infer_return_type((Vector{Any},)) do args
codeinst = first(args)
if codeinst isa Core.MethodInstance
mi = codeinst
else
codeinst::Core.CodeInstance
mi = codeinst.def
end
return mi
end == Core.MethodInstance
Test Passed
```