I saw someone mention PWM as a possible way to reduce current drawn by a DC fan in another question, but they didn't elaborate on how as there were other better alternatives to that specific question. My googling came to the conclusion that it would only reduce the average current, which means the heatbed would still draw 5.217A
One approach you might take is to use LC filters with pulse width modulation. Although the current through your switching element would still be pulse width modulated, the current drawn from the power supply would be closer to the average current, with some ripple.

simulate this circuit – Schematic created using CircuitLab
CircuitLab does not have a model for the TIP120 Darlington Transistor pair, so I emulated it with two discrete transistors. As others have pointed out, you may have better efficiency with a MOSFET transistor, rather than a Darlington. However, a) you may have the TIP120's on hand, and 2) a MOSFET with adequate rating may require a driver, which adds complexity to your circuit. So, I am using the emulated TIP120 in my example.
Similarly, there is no way in CircuitLab to use an Arduino, so that too is emulated in my schematic.
As you can see from the following diagram, the current drawn from the power supply is relatively constant, but the current in the load is pulse width modulated. The following diagram uses a 30% duty cycle.

Note: This circuit relies upon the pulse with modulation to limit the current. Use of this circuit with a duty cycle in excess of 30% may cause excessive draw upon the power supply. This may cause other components, such as the arduino to shut down, it may cause excessive current through the filter components, causing them to go into saturation or overheat, or, it may, if you are lucky, cause no problems whatsoever. However, it is NOT designed for such excessive current, so please don't push your luck.
Choosing Components
Capacitor C1 must deliver most of the current pulse to the load. It is therefore important that it be rated for high ripple, and have low ESR to prevent overheating. The following diagram shows the ripple current in C1

The ripple current for capacitors is usually rated as a RMS value. To find the RMS value, use this formula
$$I_{rms} = \sqrt{D*I_{on}^2 + (1-D)*I_{off}^2}$$
Roughly eyeballing this, at 30% duty cycle we get
$$I_{rms} \approx \sqrt{0.3*3.5^2 + 0.7*1.7^2} \approx 2.4A $$
The KTD101B476M99A0B00 has a rated rms ripple current of 4A, so that is probably an adequate capacitor.
Inductors L1 and L2 should have low resistance and be capable of handling the current. Say 1.8 A. 1140-222K-RC has about 0.5\$\Omega\$ resistance and a current capacity of 2.4 A, so it may be suitable for L1. For L2, 1140-470K-RC has a resistance of about 20 m\$\Omega\$ and a current rating of over 12 A, so it may be a little better than you need. On the other hand, L2 is on the side of the filter with significant high frequency components, and the datasheet for the 1140-470K-RC doesn't give any characterization at 31.25 kHz, the typical frequency of Arduino PWM outputs. So, perhaps the SHBC12-1R0A0051V is a better choice for L2.
The current through resistor R1 is initially high, but falls to a value that depends upon the resistance of L1. (The lower the resistance of L1, the less current will flow through R1 when the current settles.) Here is a chart of the current through R1 when the resistance of L1 is 500 mA.

In steady state, R1 might dissipate 800 mW. However, for a short time, during start-up, it will dissipate 1.4*8 = 11.2 watts. In your question, you mentioned that you used a 21 watt 8.2 ohm resistor. I would use that, although it is a bit more than necessary. However, since it is what you have on hand, you might as well use it. (If I were experimenting, I might personally try a 2 watt 8 ohm resistor, in the possibly mistaken hope that it would not be damaged by start up conditions. Or, if this was a production job, I might look through manufacturers' datasheets looking for resistors that are characterized for temporary overload conditions.)