Set_type_override the sequence to sequence library has no effect

The virtual method uvm_object_wrapper::create_object() is not a factory create; it just creates the object the wrapper type represents.

You need to use the factory’s create_object_by_type()

uvm_factory f = uvm_factory::get();
if (!$cast(seq, f.create_object_by_type( // return type uvm_object
                                        seq_q[select_rand], // type selected to create
                                        get_full_name(),    // path for override if desired
                                        "my_name")           // created object name
    ) ...