I have a PCB where it is okay that two components have overlapping courtyards. I expected that the error goes away when I check the “Exempt from courtyard requirement” on both footprints, but unfortunately that is not the case.
Is this a bug in KiCad or do I misunderstand what that checkbox is used for?
No, that checkbox controls whether or not you get a warning that the given footprint does not have a valid courtyard, not whether or not the courtyard (if it is valid) is checked for overlapping with others.
If the component does have a valid courtyard, then one way to get rid of an overlapping courtyard error is to exclude that particular error.