There is no such rule that Google does not approve AdSense on a free domain. However, it is always better to buy a premium domain.