I just found my own answer to this problem. It might not be optimal or completely in line with the usual way of handling this, so feel free to still come up with solutions to my question.
This line seemed to be the culprit:
<h:selectOneRadio id="facility" value="#{orgFacility.availabilityType.id}">
It seems that nested properties aren't handled as I expected. I solved the problem by changing my 'getFindAllFacilitiesForCurrentOrganisation' method to return a list of simplified objects without any nested properties. Instead they just contain the necessary id's which I later use in the 'save' method to perform the actual update. So now it looks like this:
<h:selectOneRadio id="facility" value="#{orgFacility.typeId}">