I've tested isc-dhcp 4.4.1-2.1ubuntu5.20.04.3 from focal-proposed. Works as expected.
root@ff-dhcp:~# apt list isc-dhcp-client
Listing... Done
isc-dhcp-client/focal-proposed,now 4.4.1-2.1ubuntu5.20.04.3 amd64 [installed,automatic]
I can see no 'dhclient' entries in dmesg after the initial "apparmor_parser -r /etc/apparmor.d/sbin.dhclient" reload (neither after 'netplan apply', nor after reboot):
dynamic IP address is assigned via NetworkManager:
$ ip addr show eth0
[...]
178: eth0@if179: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:16:3e:0a:83:de brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 10.238.94.241/24 brd 10.238.94.255 scope global dynamic noprefixroute eth0
valid_lft 3509sec preferred_lft 3509sec
I've tested isc-dhcp 4.4.1-2. 1ubuntu5. 20.04.3 from focal-proposed. Works as expected.
root@ff-dhcp:~# apt list isc-dhcp-client client/ focal-proposed, now 4.4.1-2. 1ubuntu5. 20.04.3 amd64 [installed, automatic]
Listing... Done
isc-dhcp-
I can see no 'dhclient' entries in dmesg after the initial "apparmor_parser -r /etc/apparmor. d/sbin. dhclient" reload (neither after 'netplan apply', nor after reboot):
$ dmesg | grep dhclient 2.103:4665) : apparmor="STATUS" operation= "profile_ replace" label=" lxd-ff- dhcp_</ var/snap/ lxd/common/ lxd>//& :lxd-ff- dhcp_<var- snap-lxd- common- lxd>:unconfined " name="/ {,usr/} sbin/dhclient" pid=1595322 comm="apparmor_ parser"
[...]
[327577.704123] audit: type=1400 audit(165598837
dynamic IP address is assigned via NetworkManager: MULTICAST, UP,LOWER_ UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
$ ip addr show eth0
[...]
178: eth0@if179: <BROADCAST,
link/ether 00:16:3e:0a:83:de brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 10.238.94.241/24 brd 10.238.94.255 scope global dynamic noprefixroute eth0
valid_lft 3509sec preferred_lft 3509sec
$ nmcli -o
eth0: connected to netplan-eth0
"eth0"
ethernet (veth), 00:16:3E:0A:83:DE, sw, mtu 1500
ip4 default, ip6 default
inet4 10.238.94.241/24
[...]