Hierarchical clustering with dot products recovers hidden tree structure