Why would you expect an ampersand instead of the HTML encoding? You are dumping the value of the variable, which contains the encoded version. Just as if you outputted the variable.
If you output that variable to the browser you will also get the encoded version, but *the browser* will properly decode it to the ampersand. That is the result you *should* be desiring.
Jason