As rusty stated, budget and where you're looking for heads will make a difference.
I just looked up my receipt from March 2021, and I snagged a complete head from AlliedMotorParts for $269.14 with tax, shipping and $50 core charge. Checking there and eBay motors it seems 4.0 OHV heads are north of $300 a piece now. (Thanks Joe.)
If you're rubbing pennies together for warmth, and you're just looking to get something that runs, I think the absolute cheapest you could go would be --
1. Borrow a compression tester from the local parts store and figure out if only one head is bad.
2. Strip the head(s) off and check for damaged valves, springs, rockers, etc.
3. Buy a bare head (eBay $120) and swap over your good parts.
4. Lap in the valves with valve compound.
5. "Plane" the deck with a straight edge and sandpaper.
6. Buy just the gaskets you need - head, intake, valve stem probably required, valve cover if you trashed the old one on removal.
7. Reuse your old head bolts (they're technically one time use, but if you're not racing, you can gently put them back in service.)
Please note - no one would ever recommend the above as a the right proper and correct way to fix a motor with a bad head. But if you only have say $300 to spend it technically could be done.