Why doesn't ovm_object::get_inst_id() get converted to string?

I’m trying to display the ovm instance id with ovm_info method. In my ovm component:

string inst_id = {"ovm_id_", this.get_inst_id()};
    `ovm_info($sformatf("ovm_id_%0d or %s", this.get_inst_id(), inst_id), "Hello World", OVM_LOW);

In the STDOUT results, I see:

MY_COMPONENT [ovm_id_36245 or ovm_id_黒] Hello World

Why isn’t inst_id displaying properly?

Because {“ovm_id_”, this.get_inst_id()} is concatenating the 4-byte binary value of an int, not the string representation of the int.