staticdata: corrected implementation of jl_collect_new_roots (#57407)
This seems basically the same as #57212, but from computing and using
`method_roots_list` wrong instead here (specifically the recursively
part). Fix it by integrating `jl_collect_new_roots` with the places we
actually need it.
Fixes #56994