Right, just using the plain gmaps tiles in a Leaflet tile layer is against the google TOS. But there is a Leaflet plugin that puts the whole google map component in a TOS-compliant way as a layer into leaflet and keeps both in sync with DOM observers. Sounds pretty weird but works perfectly in production.
https://gitlab.com/IvanSanchez/Leaflet.GridLayer.GoogleMutan...