There are multiple reasons but the most important one is: You didn't enable it.
Caddy fully supports https to the reverse proxy targets, though you'd have to get those targets trusted certificates otherwise caddy wouldn't connect.
The default protocol for backends is http, most of the time this isn't a problem because:
- The web server runs on the local machine
- The web server runs in containers/vms on the local machine
- or is running in a VM and has a direct virtual connection with the caddy vm
- The connection to the Backend is encrypted with a VPN
- Caddy and the web server are directly connected or connected through an otherwise isolated network
Because https requires certificates that are somewhat difficult to set up for internal servers (and were even harder to get before) the default mostly is just to encrypt on another layer of the stack. Afaik at least.