The launch window is small because ISS has to be essentially lined up in orbit in a tight tolerance (called the phase angle) to rendezvous this quickly. Usually the Soyuz plays "catch up" over 2 days by flying lower (and faster) than ISS. You can control the closing rate between the vehicles by altering the altitude difference between them, which allows you to make up differences in the orbits between the vehicles. Those differences are usually just fallouts of other things, like having uncertainty in launch dates, getting the altitude just right for other vehicles (there is about a rendezvous a month at ISS), etc. It's not because Soyuz is slow, it's because spreading the rendezvous over 2 days gives you some targeting flexibility.
You have less margin to work with when you are trying to get there in 4 orbits instead of 34 orbits. Hitting that target with both ISS and Soyuz is hard but it's more about ground targeting than performance of the launch vehicle. The launch vehicle didn't give any extra oomph to get there faster, the ground essentially had the vehicle phasing in a tight tolerance at launch. They also sped up some of the tracking that was being done and turning that around into updated burns for the next orbit instead of coasting to a set of burns the next day, which was a bunch of work for the ground in a short period of time.
The Russians that devised this actually published it - it's an interesting read if you have access to the journal or want to spend $32: