Unfortunately, the answer is more complicated! DHCP Discover and DHCP Request messages sent by the client will be broadcast, with a source IP of 0.0.0.0 and a destination IP of 255.255.255.255. These messages contain a "Broadcast Flag", intended as a workaround for clients that are not able to receive unicast IP datagrams before they know their own IP address.
If the Broadcast Flag is set, the DHCP Offer and DHCP Acknowledge messages sent by the server or relay agent will also be broadcast, with the server's or agent's source IP and a destination IP of 255.255.255.255. If it is not set, the server messages will be unicast, with the server's source IP and the offered or assigned destination IP, using the Client MAC address contained in the DHCP Discover or Request message (ARP won't work yet since the client doesn't technically have an IP address until after it receives the DHCP Request message).
So depending on whether the client sets the Broadcast Flag, the communication will be either B, B, B, B or B, U, B, U. Never B, B, B, U!
All modern systems I know of are capable of receiving unicast IP datagrams before they know their IP address, so don't need the Broadcast Flag, and the DHCP standard (RFC 2131) specifies that such clients SHOULD clear the Broadcast Flag. But for some reason, Windows sets it by default. (At least Windows 7 does; I don't know about Windows 8 or Windows 10.) But some DHCP servers/relay agents don't support messages with the Broadcast Flag set, so Windows systems wouldn't work with them. Microsoft addressed this by adding a toggle feature: it tries first with the Broadcast Flag set, and if that doesn't work it tries again with the flag reset. This functionality was introduced in Windows Vista, but disabled by default; then in Windows 7 the toggle function was enabled by default. You can change the DHCP settings in the registry.
Linux DHCP clients clear the Broadcast Flag by default, but can be configured to set it if required for some reason with a command line or configuration file option. I don't know about other systems.
I have no idea how much detail certification exams will get on this, but it might be useful if you are trying to troubleshoot a real-life DHCP issue! Hopefully it explains why a Microsoft link says B, B, B, B and a Cisco link says B, U, B, U.
Note that DHCP renewal messages are all unicast since the client still has a valid IP address. So are DHCP messages between a relay agent and DHCP server.