Hello 
i know it works if i add cdn.example.com as a parked domain, but i don't want to do it like this, as i think it may involve extra DNS requests when accessing cdn.example.com (pls correct me if i'm wrong on this).
Parked domains do not result in additional DNS requests. A separate DNS Zone is created for the parked domain name, which is used in the same manner the original DNS Zone would be.
As for the CNAME issue, please ensure you are using a trailing "." after "example.com". EX:
Code:
cdn 14400 IN CNAME example.com.
Thank you.