Why yes is not true
ConfigKit reads YAML 1.2 with the core schema. yes, no, on, and off stay strings.
The example
A flag written as yes is text. Converting it to JSON keeps the characters.
enabled: yes
The JSON value is "yes", not true. no, on, and off work the same way.
The edge case
true and false are booleans. Quote them when you want the words themselves: "true" is a string, and true is a boolean. The Kubernetes syntax check uses the same schema, so a manifest with yes is still valid YAML and the value is still a string.
enabled: true quoted: "yes"
Try it on YAML to JSON or the YAML validator.