Why does shared WiFi connection from iPhone to laptop (personal hotspot) not go through phone VPN?

This is not possible on iOS as it ships from the factory.

When you create the hotspot, you turn your iPhone into a router with NAT clients on one side (usually WiFi) and your public IP on the other (Cellular). As such, whatever config you had before (WiFi Internet with VPN) gets disabled.

If you want to use VPN while on your hotspot, the best approach is to use the VPN client on the end devices themselves (i.e. the Windows or macOS laptops connecting to your phone).

However, if you're willing to Jailbreak, an app called TetherMe that supposedly allows it. I haven't tested so YMMV. Personally, I would go with a VPN on the end devices instead.