At the moment I've kind of exhausted everything I can think of. Does
anyone else have any ideas that would lend itself to an API that can
accommodate a plethora of configurable options, allow a sane default for
common uses cases and not create any potential opportunities for
incorrect use?

I just want an API so I can create thinp LVs from a pool from scratch,
and create thinp LVs based on another thinp LV.

I don't care about options. Use the defaults. Let's get something going
and then iterate.