In case this questions is still relevant
Is there a way to set a per-key TTL?
Yes, you can. You need enable this by adding LimitMarkerTTL to kv config while creating kv bucket tho.
Once a KV store has been created, is there a way to change its default TTL, as you can with streams?
Yes, you can change default bucket TTL, existing keys TTL WILL be affected.