In that case, pass on a second argument to the GetFloat method. That would be the default value. For example:
PlayerPrefs.GetFloat("Your key", 1f);
You didn’t miss anything. If you start the game for the first time, GetFloat returns 0f because the key does not exist in the PlayerPrefs yet. By setting your own default value, you will not get the problem of hearing no sound when starting the game for the first time.
Since Rick has started his game many times, his PlayerPrefs already have the key he’s trying to access, so the GetFloat method doesn’t return 0f, and he doesn’t encounter the problem.
It might be that the PlayerPrefs do not persist in WebGL games. Which would be an explanation for the missing(?) sound. Enable the debug mode and add Debug.Logs to your code to see what’s going on during runtime in your build. Since you cannot see sound clips or components, there is no way to tell whether the clip is missing or if the AudioSource is muted just by staring at the rendered picture on a screen.
(Debugging is all about verifying or falsifying theories.)