I noticed that the sitemap is not working properly for subsites if:
the option to “Allow multiple mappings per site” is enabled on Domain Mapping network settings.
There is only one domain mapped for a subsite and that domain is not marked as the primary domain by clicking the star icon under Tools > Domain Mapping.
If the site admin has only 1 domain and hasn’t clicked the star button next to the domain, then the site maps will be generated using the network-domain URL instead of the mapped domain.
The solution is to click the star and regenerate the sitemap. However, I and most users would simply assume that if you only have one mapped domain, then clicking that ‘star’ wouldn’t matter and that the SmartCrawl would be smart enough to know that.