This is a limitation I found too: NetTopologySuite performs planar (Euclidean) calculations, while SqlGeography
uses geodesic calculations on an ellipsoidal model (WGS84). So you cannot use NTS to calculate distances or buffers or other operations that depend on the Earth curvature.
For those running into similar issues, I’ve built SharpSpatial, an open-source .NET library that extends NetTopologySuite with true geodesic computations, including:
Vincenty and Haversine distance calculations
Geodesic buffering based on Vincenty ellipsoidal logic
A geometry API intended to closely match the behavior of SqlGeography
It's especially useful if you're moving away from SQL Server or need cross-platform, accurate geodesic logic in .NET 6/7/8 projects.
I’ve been using it in some of my own projects. While it’s not yet fully comprehensive, it allowed me to move away from the SqlGeography DLLs and work entirely on .NET Core.
I'm not a geospatial expert, but for my needs, the results have been sufficiently accurate.
Disclaimer: I'm the author of the library.