Since he’s comfy with floating, show him how to tread water. Big confidence builder, water-treading. It’s nice to know you won’t necessarily drown if the waves are too much for floating to be a good option.
Once he’s happy with that, put him in a pool up to about his upper chest level (ie, shallow enough that he can easily stand up at any point and have his head totally out of the water). That’ll help him stay cool about the whole thing. Going from floating on your back to facing the water is a big mental step - you’re actively putting your face right down next to the water …and probably swallowing it, if you’re me. (I swear I always swallow half the pool. Ick.)
I seem to recall that I learned to swim by my mother having her hands underneath my torso to support me as I lay in the water, while I got the hang of the dog-paddle motions (the hands and the kicking). She’d move me along in the water so I got the ‘feel’ for it. Every now and again she’d take her hands away and I’d sink like a stone, but eventually it clicked.
I was too young for her to feasibly do this in water that *I * could have stood up in, as I would have been all of 4’ tall… so he’s got an advantage right there. Less stress, knowing if it all goes bad you can stand up and be hunky-dory.
Obviously he’ll weigh more than a 5-year old, but the water buoyancy should hopefully offset a large chunk of that.