Packets get dropped by interfaces when their queues are full but the packets keep coming in. This is likely to happen when a device has packets arriving on a faster link than the one they are leaving on.
TCP congestion control algorithms use packet loss as an indicator that the link is overloaded. The hosts communicating across your HFC link don't necessarily know that it's 30/1. They continue to send more and more data at a time until something goes wrong, and that's how they know to back off a bit.
You can read more in This Wikipedia article on the topic and also in RFC5681
As for your increased RTT during heavy load, I'd expect that's due to additional queuing delay on the interfaces connected to the congested link.
I'd say that looks like normal behaviour for an at-capacity link.
If the packet loss and latency is causing issues, I'd suggest setting up QoS. This essentially lets important packets skip the queue.