His original map provider offers both vector and raster tile services: https://www.thunderforest.com/maps/outdoors/
A common pattern is to use a vector tile service + style definition directly or to generate raster tiles if those are desired.
In practise, this doesn’t work out as visually pleasing as you’d like; labels repeat, or render partially or not at all, or become interfered with by other labels, or only work well at one given zoom. It’s easy to end up in a visually dissatisfying place that’s taking an unfathomable number of magic rules to get to.
The secret sauce to fixing this is creating separate label layers of perfect point locations or lines for labels to follow in advance. Added bonus is faster render and interaction times due to fewer rules.