In reply to Po:
Your cast fails because the declaration of your seq_item in bus2reg is not parameterized. It should be like this:
virtual function void bus2reg(uvm_sequence_item bus_item,
ref uvm_reg_bus_op rw);
extended_seq_item#(type CFG = config_class) ext;
if (!$cast(ext, bus_item)) begin