If the heater core is leaking, you should smell the distinct smell of coolant inside the car. When the engine is cool, slowly open the opaque white plastic overflow bottle (not the radiator via the rad cap!!). Take a sniff. If you smell the same smell inside the car, ta Da. That's it thats all folks.
Now run the car with the heat set to maximum temperature.
Do you smell the same smell as from the overflow bottle?
Cores go, but usually not that common before the age of 10 years, and even then not that common. Always a good idea to flush and fill the cooling system every 100,000 km Max because coolant can go acidic over time.
The cost to change the heater core on a modern car will be huge. It is located on the right side of the firewall. Usually inside the car, behind the dashboard, mounted high. With old cars without AC, it wasn't too awful of a job. But smaller cars, with AC and with the computers packed in under the dash, and the complex HVAC controls, it's truly a pig of a job.
The other thing it could be is trapped water in the airways. Leaks do happen. More than heater cores fail I'd say. Trap water in the HVAC plenum and it could cause fogging. Problem is finding the point of ingress for the water. Do you hear water swishing about as you drive? If the water leak could be found and sealed, the trapped water will eventually evaporate.