I'm not sure if you can change accepted answers, but since the only answer to your question on back propagation is one about forward propagation, I decided to give it a go.
Essentially, you treat the weight delta ($\frac{\delta R}{\delta h_j^l}$) the same as you would a weight delta for a linear neuron, but train it once for each time you overlaid your filter (kernel) on the input, all in a single backprop pass. The result is the sum of the deltas for all overlays of your filter. I think in your notation, this would be $\frac{\delta R}{\delta h_j^l} = \sum_{i=1}^nx_i^{l-1}\frac{\delta R}{\delta x_j^{l+1}}$ where $x^{l-1}$ is an input that was multiplied with $h_j^l$ for one of your overlays during forward propagation, and $x^{l+1}$ is the output that resulted from that overlay.
Between the two results of backprop through a convolutional layer (parameter deltas, and input deltas) it sounds like you're more interested in parameter deltas, or more specifically, the weight matrix deltas ($\frac{\delta R}{\delta h_j^l}$). For the sake of completeness, I'll go over both, with the following as our example layer:
If you have a 1D set of inputs $[1, 2, 3]$, and a filter $[0.3, 0.5]$ that is applied with stride 1, no padding, zero bias, and no activation function, then the activation of your filter would have looked like $[1*0.3+2*0.5, 2*0.3+3*0.5] = [1.3, 2.1]$. When you come back through this layer on your backprop pass, let's say the activation deltas you use for your calculations are $[-0.1, 0.2]$.
Weight deltas:
When you came through in the forward pass, you cached your inputs $[1, 2, 3]$, let's call that A_prev, since it's likely the activation of your previous layer. For each potential overlay of your filter (in this case, you can only overlay it on the input in two places [1,2,3] and [1,2,3]), take that slice of the input A_slice, multiply each element by the associated output delta dZ, and add it to your weight delta dW for this pass. In this example, you would add $[1*-0.1, 2*-0.1]$ to dW for the first overlay, then add $[2*0.2, 3*0.2]$ for the second overlay. All told, your dW for this convolutional layer on this backprop pass is $[0.3, 0.4]$.
Bias deltas:
Same as for weight deltas, but just add your output delta without multiplying by the input matrix.
Input deltas:
Reconstruct the shape of the input for this layer, call it dA_prev, initialize it to zeros, and walk through the configurations in which you overlaid your filter on the input. For each overlay, multiply your weight matrix by the output delta associated with this overlay, and add that to the slice of dA_prev associated with this overlay. That is to say, overlay 1 will add $[0.3 * -0.1, 0.5 * -0.1] = [-0.03, -0.05]$ to dA_prev resulting in $[-0.03, -0.05, 0]$, then overlay 2 will add $[0.3 * 0.2, 0.5 * 0.2] = [0.06, 0.1]$, resulting in $[-0.03, 0.01, 0.1]$ for dA_prev.
This is a pretty good source if you want to read the same answer in different terms: Link