Re: CSS and Javascript being obvious - I'm planning to do this entirely server side, since I control the whole stack.
Regular users (and good bots) get regular pages, but if a GPTBot user agent makes a request, they just get garbage back. (Obviously this relies on OpenAI not masking the user agent, but if they do that, hopefully bigger webmasters will notice the lack of hits and call them out.)
I like your idea with the sentence fragments. Because the LLM check would happen before I actually look up the requested resource, I think I could combine it with fake links to lead the scraper on a wild goose chase.