I think it means the k-th child according to an in-order traversal. This code seems to work:
type 'a tree = | Node of 'a * 'a tree * 'a tree | Leaf
type 'a search = | KeepLooking of int | Found of 'a
let kthchild tree k =
let rec aux t p =
match t with
| Leaf -> KeepLooking p
| Node (v, l, r) ->
begin match aux l p with
| KeepLooking q ->
if q = k then Found v
else aux r (q+1)
| Found w -> Found w end in
match aux tree 1 with
| Found v -> v
| KeepLooking _ -> raise Not_found