If a chunk gets marked as a forced chunk but isn't loaded by a player the chunk stays unloaded until a player loads the chunk.
I placed a repeating command block that was set to always active and had the command "/say hi" in it in a random non spawn-chunk (screenshot 1.png). Then I went far away and marked the corresponding chunk as force loaded (screenshot 2.png). I expected that the command block would start do say hi in chat, but the command block didn't say hi. When I went back to the force loaded chunk the command block did start to say hi in chat (screenshot 3.png) and didn't stop also if I went far away again (screenshot 4.png).
So I made the conclusion that a forced loaded chunk first needs to be loaded by a player before it stays loaded. For me that looks like a bug.