I started by stitching the SRTM files into one large GTiff, which wasn't a problem:
gdal_merge.py -o ../north_korea.tif -n -32767 *.tif
QGIS has no problem matching the merged TIF to the shapefile (hideous pink here is just for contrast):
Unfortunately, when the browser tries to load a much smaller GeoTIFF with the same projection (
gdalinfo as the original tiles, it gets very confused and maps a little, inverted PRK inside the larger one:
How does QGIS etc. manage to correctly translate pixel position in a GeoTIFF to lat/lng, using the file's metadata, such that it can be displayed in any projection? Whatever that magical power is, it's not currently happening in the browser version, which I can figure out much faster if I understand why it works in QGIS with no help from me.