See an updated guide here https://wiki.openstreetmap.org/wiki/User:Ff5722/Using_local_tilesets_as_background_layer Maptiler is limited in the free version, but there is a free alternative.
I made some progress today.
Download Maptiler https://www.maptiler.com
Then download an local Apache server, such as wampserver or XAMPP.
Install tileserver in the ‘www’ or ‘htdocs’ folder of the Apache server. Use these instruction: https://www.maptiler.com/how-to/tileserver-php/
Then use Maptiler to process a GeoTIFF as standard tiles. If your tile is too large, use Qgis to crop it and save the crop as tiff again. Save the output from Maptiler in the same folder as the tileserver.php file as described here https://www.maptiler.com/how-to/own-hosting/
Now start the Apache server, open your browser and go to ‘http://localhost/tileserver’
if you just get plain php code in your screen, use this solution https://stackoverflow.com/a/3555714

but… this is not the end. Because you still cannot use this in JOSM, the WMTS does not work on localhost domains…

Okay, to ‘fix’ this (assuming you’re on a Windows computer), open your hosts file, and redirect the localhost like this
127.0.0.1 example.local
or whatever you like (see http://www.techrepublic.com/blog/smb-technologist/create-virtual-hosts-in-a-wamp-server/))
restart the apache server
now your tileserver page should be at http://example.local/tileserver/
Finally, right click the WMTS link at the top right, copy it and paste in JOSM like you normally would.
Enjoy your offline tiles.

Some notes: Maptiler’s free version adds watermarks (not very obtrusive for editing OSM). As you can see from the image, the alignment is perfect but the sampling seems very poor, i will try to adjust the settings. The free version of Maptiler has a maximum resolution limit of 10K by 10K per image, Sentinel-2 tiles are… 11K by 11K. There are scripts to split them though, so not a huge problem. https://gis.stackexchange.com/questions/92207/split-a-large-geotiff-into-smaller-regions-with-python-and-gdal