I took quite a long time trying to figure out how to get the gate to lift up properly (which I actually never got to happen, but we'll get to that later) and ended up putting it aside for a while as my friend reminded me how awesome VR is and I got hooked on that. I even ended up completing Half Life: Alyx, which by the way, if you have it but haven't completed it, please finish it - the ending is something that just has to be experienced. I finally got back to Splash today, and after a bit of fiddling decided to just delete the gate when the key is picked up. It's not as glamourous, but it's way easier to do and doesn't lag the game out.
I then made a short platform just past the gate and added a level gate to it, which didn't work at first. I tested it with print strings and found that the cast to checkpoint was failing. I posted my problem to the Unreal Answers board, and a helpful user informed me that the only possible ways a cast to save game object could fail are if a save game doesn't exist or the save game in the slot doesn't belong to the correct save game object. This caused me to go back and look for any ways the checkpoint in question might not be being created, and found that the script I had made in the level blueprint to create a checkpoint save at the start of the level was checking if a checkpoint from level 5 existed before creating a level 8 checkpoint, instead of creating a checkpoint from level 8 if there wasn't already one.