Hope this helps to save some of some time digging. And I know, freeipa-server on a non LTS release is daft..

apt-get install freeipa-server-trust-ad
#This has been mentioned elsewhere, and it should either be a dependency OR it's absence should not break things as it currently does

sudo mkdir /etc/krb5.conf.d/
#Apparently this is expected by ipa-server to have been generated by one of the kerberos packages but is not..

mkdir -p /usr/libexec/ipa
sudo ln -s /usr/lib/ipa/ipa-httpd-kdcproxy /usr/libexec/ipa/ipa-httpd-kdcproxy

#The last two lines are a pretty dirty hack as I couldn't work out where in the ipa-server-install the file /etc/systemd/system/apache2.service.d/ipa.conf is created or updated. This file has a bad path to ipa-httpd-kdcproxy so ideally there should be some logic to check where it is before defining a path to it.