Hello!
I would like to know the best way to calculate the distance between two points along a stream.

The reddish line in the photo is the NHD flowline dataset.
Imagine the black polygon is a point - how would I calculate the distance along the NHD flowline from the black polygon to the nearest pink diamond? Then, save that distance to the attributes of the black polygons in a "distance to nearest pink diamond" field?
None of the pink diamonds intersect with the NHD flowline, they are mostly within 300ft of the flowline.
I found a possible solution on stack exchange: https://gis.stackexchange.com/questions/452347/how-to-measure-the-distance-between-two-points-in-the-same-layer-accounting-for
But I was wondering if there was a different way to do this. I've been looking into maybe a trace network or a network analysis deal, however I'm worried those may be too complicated for this specific task.