If your HDS encodes boundaries by flagging boundary faces, then it is simple: find the one edge into your vertex with a boundary face, then get the next edge along the face.
If the HDS encodes boundaries by flagging boundary edges (which I'll assume is your case since you check whether a given edge has a twin) then your vertex should have exactly one in-edge with null twin, and one out-edge with null-twin. These are the edges you're looking for.