I downloaded the project and found a solution, though I'm not totally sure how the solution fixes the issue or why it does.
The issue is on line 32: shape.extents = Vector2((offset / 2) * size, offset / 2) After some debugging, I decided to place a normal RigidBody2D node in the Game scene to see how it would react, and it only collided with the bottom of the platform. It would go through the top and stop at the bottom edge. After some messing around, I realized that the collision shape seems to think it is inside out.
After some more debugging I was able to, more or less, confirm this is the case and fix the issue by changing line 32 to the following: shape.extents = Vector2((offset / 2.0) * size, -offset / 2.0). After that, everything works as expected, though I'm not sure why using a positive value for the Y makes it inside out...
Anyway, hopefully this helps!
(Side note: Welcome to the forums!)