I'll upgrade and answer your questions soon.
My boiler is a Viessmann Vitodens 100-W B1KF-25.
The time it takes to heat depends on the type of boiler.
There are instaneous, micro-accumulation, mini-accumulation and accumulation boilers.
On my side I have what they call a micro-accumulation boiler. It means there is something like 5~15L of hot water reserve inside. This seems to be recommended when having exactly one bathroom (not being able to take 2 showers at the same time doesn't require more accumulated water than that).
On my side, when in HW=0 mode, and if we wait for DHW to go back to 25°C, heating it up to 55°C with a HW=1 (without using hot water at the same time) takes around 1min. This also includes the reaction time of the boiler between the moment master bit is already 1 but boiler wants to make sure master intention is stable before acting.
To give more details, my boiler, when turning on the flame, always starts with a modulation of 38%, regardless of what its internal algorithm tells it to do.
(38% as reported by OpenTherm relative modulation level value but where 1% actually means 10% of its maximum power). This seems to be its "flame startup minimum modulation". Only after a period of 10s of flame stabilisation does it allow itself to lower the modulation. I guess it's because it's impossible to create a very small flame directly from nothing (high risk of failure and only gaz flowing without flame).
When running HW=1, after flame is stabilized, modulation goes down drastically to 1% and stays like this until flame shutdown. This is because boiler knows that no one is using hot water at the same time, so there will be little energy required to heat up this fixed and same amount of water.
Note that this boiler only has one shared heating circuit for CH1 and DHW, which means flame always heats up the CH water directly only (the exact same water as the one flowing through the radiators). The 3way valve is moved to DHW position before, so, in my understanding, this "kidnaps" the part of CH water inside of the boiler and isolates it from the rest of the CH water in the installation.
For a DHW target of 55°C, it heats the CH water to something like 63°C and it turns on a heat exchanger (maybe a kind of pump?) to make CH water exchange heat actively with DHW. DHW temperature is a bit slow in the beginning to start rising, but increases more and more quickly, because it requires first a CH water temperature gradient before having impact.
So there is also an impact depending on whether CH is enabled or not. If CH was running just before, even if DHW cooled down due to HW=0, flow (CH) water temperature is already high. So when the 3way valve will kidnap that water, it will initially just start heat exchange process with the cold DHW, and still turn on the flame to complete a bit the missing energy, but it will be quicker because we don't need to heat both waters.
I use the OTGW in standalone, it's hard for me to imagine what HW=P would bring to my setup. Isn't it the same as doing HW=1 followed by HW=0?
In my case, there is so little water to heat (micro-accumulation) that I just need something like HW=1 sleep 60 HW=0.
I'm actually doing that sometimes before turning on the tap water when already standing in front of the mirror in the bathroom.

Could you tell me more about what the ID99 bits are capable of doing?
If my phone is not nearby, there is another way to achieve almost the same thing without wasting much water: set up your tap water to its hottest setting before opening it, then open it but with a low to medium water rate (because setting is already hottest so a small rate will not be that small) for 1s or 2s and close it very quickly so that you don't waste water.
The important thing is just to exceed the hot water rate threshold. If the hot water rate demand is too little (e.g. tap set up to the middle AND opened slightly) my boiler passively watch the hot water reserve go down to 18°C and doesn't do anything even if I continue to slightly demand water.
In my case this (just 2s little rate of max tap temp setting) will trigger a complete warm up of the water even if the boiler can see that we don't sustain the hot water need.
After waiting for the 60s heating time with closed tap, I can this time really open the water.
Now, there is still this unavoidable cold water remaining that will be wasted... The one that used to be warm but has cooled down inside of the warm water pipes from the basement to the first floor.
I don't think it would be a good idea to wait for heat water demand before going back to HW=0.
Otherwise, what is the difference between HW=P and HW=1? Shouldn't be HW=P something automatic where the boiler itself actually never go off Eco mode (aka like a push button that comes back to its position when released)? Why would you need to program this "switch goes back into position" yourself? Shouldn't the boiler do that so that you don't need to try to detect when boiler is done?
But if you want to do that, my boiler supports the data ID providing the hot water flow rate. Or simply when DHW has reached SW.