Proper way to select single Static Mesh Face in Custom Editor Mode

I’ve written a custom Editor Mode (based on FEdMode), which I’d like to allow the developer to select a particular face of a Static Mesh, and then perform various operations on it (extrude, etc.), similar to GeometryMode for BSP assets.

I’ve made quite a bit of progress. It draws a wireframe of the mesh over a model, when it’s selected. It also catches mouse clicks, with which I make a call to UStaticMeshComponent->LineTraceComponent(…), and this does return a correct hit response of the asset. However, the FaceIndex member of the returned FHitResult is always -1. I’ve read that it only works for triangle meshes, but I do think these meshes are using triangles (I’ve tried it both on my custom mesh and on sphere/cube primitives).

I’m also unsure of the best way to get the mesh triangle/vert data. I’ve seen 2 main possibilities, both of which give me different results.

  1. Access the [UStaticMeshComponent]->StaticMesh->RenderData->LODResources, which gives PositionVertexBuffer and WireframeIndexBuffer arrays. I assume this is the “compiled” data that Unreal uses to send for rendering.

  2. Fill an FRawMesh with the SourceModels/RawMeshBulkData of the StaticMesh. This seems to be the raw source data of the loaded asset.

The trouble is that both of these give me different numbers of vertices/indices. The first method seems to work best for Rendering the wireframe, since it renders all faces of the entire mesh properly. The second method only renders some of the faces, for some reason.
The second method is necessary for any mesh manipulation though (extrusion, etc.). It’s difficult for me to reconcile these differences.

In the end, I’m very new to Unreal (1 week in), and I have learned quite a bit, but there is absolutely no good documentation on making custom editor modes. I’ve relied mostly on posts from Rama.
Can anyone give me some insights on what the best way to accomplish my goal would be?