First step: go to My OSMC -> App Store (everything has an app store these days) to install TVHeadendServer. It pulls down a few other packages - looks like it's all using dpkg under the hood - but eventually pops up a "completed" splash screen.
Then point a browser at port 9981 on the Pi, and login with osmc/osmc. There's a fairly straightforward wizard to follow, though it seems a bit glitchy: after setting the language the page refreshed to show me the same step again.
I skipped user setup for now since this isn't going on the internet. The TV Hat appears as a Sony CXD2880 in "Network 2" - set the Network type to DVB-T Network and continue. Then work out which transmitted you're using, and find it in the Pre-defined muxes list under United Kingdom. The complication here is there's an awful lot of relays in the UK. And...
Hmm, that scan would probably run a lot better if I have a TV antenna plugged in. Oops. Time to actually stuff the Pi behind the TV and try again.
Much better. On the next screen tick Map all services to get TVHeadend to pick up everything... and that's it for the website!
Now we need a plugin for Kodi which lives in a different app store (because of course there's multiple app stores) - drop all the way out to the OSMC home screen, then go to Settings -> Add-on browser -> My add-ons -> PVR clients -> Tvheadend HTSP Client. Configure it with the TVHeadend username/password, then enable it. Back on the home screen there's now a PVR & Live TV entry, and inside should be the EPG! If it hangs with "PVR manager is starting up", check the username/password configuration was actually saved.
To watch something, pick it and then select Switch, not OK (not the most intuitive of interfaces, but I've used worse EPGs).
Next challenge: recording shows! There's two things I'd like to sort: recording to the NAS, and some remote interface for configuring the recordings. And ideally I want a smart recorder rather than a 90s-era VCR scheduler (again this is something that Windows Media Center was particularly good at). I also need to get OSMC to pick up the correct TV channel numbers as well.