How exactly does friction affect an object's speed

Imagine the following setup

Scenario 1:

I have three same sized cubes with different masses (1kg, 10kg, 100kg) and Linear Damping 0.0 sitting in mid air with gravitation set to 0.

On BeginPlay I set the velocity of every cube to e.g. 100 in X direction. Every cube is now moving in X direction with the same velocity.

Now I start to add a force of -100 in X direction to every cube with every tick.
As expected the 1kg cube stops very quickly (and starts moving in the opposite direction but that doesn’t matter here), the 10kg cube needs a while longer to stop and the 100kg goes on for quite a bit longer.
So far so realistic.

Scenario 2:

Gravity is now set to the default value of -980.
The cubes (same settings) are now positioned on a static mesh floor with a physical material with a Friction of 0.0 (Friction combine mode is set to multiply in project settings and not overriden in any physical material).

Again I apply a velocity of 100 in X direction to the cubes. As the floor friction is 0 they all move simultaneously.
After a few meters I replace the floor with another identical one but this one has a friction set to e.g. 0.5.

And here’s the thing:

In the real world (please correct me if I’m wrong here) the friction of the floor would cause a force on the cubes against their current movement direction which means I should actually get an effect similar to the one in Scneario 1 where the heavier cubes traveled further than the light ones.
But this is not the case. Instead every cube behaves exactly the same and stops at the exact same time/location.

So my assumption is that the decreasing velocity of an object when it experiences friction is NOT caused by force.
My question is: How exactly is the velocity of objects affected when experiencing friction?