Yes, course-level metadata will also get written out in the policy.json file, and I'm pretty sure that works properly for Booleans.

To verify it is working:

1) Change the value for show_chat from its default value
2) Export the course in Studio (under Tools menu)
3) Change the value for show_chat to its default value
4) Re-import the course
5) Verify that the value for show_chat is the non-default value (the value that should have been persisted on export).

If that test fails, let me know.

Note that I also have some pull requests under review that will solve the whole Boolean/StringyBoolean dilemna.