I suppose this inconsistency (if not bug) will have been smoothed out as a side effect if you ever end up fully supporting (def racket-equal? (a b) (.a:copy (obj) b t)). ^_-
As a general workaround guideline, I only use symbols as keys, 'cause I expect unexpected behavior like this if I don't. This case was an exception, but the workaround was still really easy, so don't worry about me too much. :-p