the registers are created with the create() method, not the in the build() one. And I’m afraid you can’t pass the second argument, i.e. parent, because the registers are uvm_objects and not uvm_components.
that’s what I also gathered, despite the fact the object is still not part of any test hierarchy, it can still be overridden by passing the full “hierarchical” name, whatever the result of get_full_name() is.