Recursively transform object keys with a custom key transform strategy