What would be the correct way to force a client on an access port to
use a dynamically assigned IP address ?
You can't "impose" an IP configuration mode to an host from the switch (or any other device). You can prevent the communication between the host if he doesn't have an IP from the DHCP server.
In other words, using the Cisco access layer switch, I would like to prevent the client's ability to set up a static IP address + gateway and bypass the DHCP completely.
Is this possible using features such as DHCP Snooping ?
What you need is the feature IP Source Guard, which uses the DHCP Snooping binding database to determine the legitimacy of source IP addresses.
This feature is enabled on a DHCP snooping untrusted Layer 2 port.
Initially, all IP traffic on the port is blocked except for DHCP
packets that are captured by the DHCP snooping process. When a client
receives a valid IP address from the DHCP server, or when a static IP
source binding is configured by the user, a per-port and VLAN Access
Control List (PVACL) is installed on the port. This process restricts
the client IP traffic to those source IP addresses configured in the
binding; any IP traffic with a source IP address other than that in
the IP source binding is filtered out.
"Chapter 14 - Switch Security" In Cisco Network Professional's Advanced Internetworking Guide (CCNP Series), 533 - 534.