Depends on if BIAB or separate mash tun.
I've been doing 10-11 gallon batches in my 15 gallon keggle. Works just fine even for big beers (recently a 32 lb grain bill), if mashing separately. Boil off rate is ~1gal/hr so 12-13 gallons is about all the pre-boil volume I need to start with.
For BIAB brews, a 15 gal kettle will run out of room for larger grain bills. Between wort volume, grain absorption water volume, and grain volume displacement, I found that a 12-16 lb grain bill was about the max.
Not to mention the logistics of getting a 20+ pound grain bill (which weighs double that wet), that's swollen out of the kettle. For a keggle like mine, the opening is a bit narrow. It's also heavy.
I recently did a 5.5 gallon batch in my keggle... it worked fine, but was about as small as I would want to go for that vessel's size. I think it would be a bit small to do a single batch like that in a 20 gal kettle.
-sc