I understand this type of question has been asked many times, but I'm still struggling to solve my problem.
I'm trying to import the Global Self-consistent, Hierarchical, High-resolution Geography Database (GSHHG) which I downloaded as a shapefile. Additional info (and the dataset is also available through NOAA.
After downloading and extracting the GSHHG archive, I create a new project in QGIS 2.18 and import the "GSHHS_f_L1.shp" shoreline shapefile. This file should be the full resolution (indicated by "f") version of the data containing the boundary between land and ocean, except Antarctica (indicated by "L1") and is in WGS84 (all this according to NOAA).
After importing into a blank project, the project CRS is EPSG:4326, with on the fly reprojection disabled. Which I think is as expected. If I then add the OSM Standard layer using the "QuickMapServices" plugin, OTF reprojection gets enabled but when I look at the shorelines anywhere in the world, they do not align. They are off some small amount consistently everywhere.
If instead of adding an OSM layer using that plugin, I add a layer I have in the same CRS, I still have the same issue. So, it seems to me that the GSHHG dataset is for some reason misaligned. I've tried setting that layers CRS manually to 4326, but it's still incorrect.
Obviously, I'm still doing something wrong. How to correct this misalignment and why is this happening?