GuiObject.ClipsDescendants does not respect UIComponents like UICorner.
In my opinion, this should not be default behaviour, due to many UI systems/frameworks respecting changes like these with clipping enabled. A popular example is CSS.
The expected behaviour should be that the circle Frame clips the square Frame, but still renders any part of the square Frame which is inside the circle.
This is as designed, if you are curious about the reason you can check this post:
You can try using CanvasGroup | Roblox Creator Documentation if you really want to do a round corner object that clips descendants. Just be careful that there would be an extra memory cost and possible degrade of display under lower render quality settings.