To answer my own question, YAML::Dump handles it very poorly.
Like Dumper and Denter, it doesn't see the difference between $xx and $yy. It also appears to ignore blessings, which I find rather difficult to believe.
Plus if I feed it a bit more complex structure (the example I included with XDumper), YAML gives me: Can't create YAML::Node from 'GLOB' at /Library/Perl/YAML/Transfer.pm line 41
So I don't think YAML can be compared to XDumper. They simply have different goals and different advantages.