I chose descent rate of 1600 because PF3 will be late with TOD related to NGX FMC.
So, my last flight from LSZH to EDDM. I was instructed to fly runway heading and climb to 6000'. But after I took off, ATC gave me only ALTITUDE instructions WITHOUT vectoring me to intersect the flight path, I did it manually. That was happened for the first time and left me confused. Not a single heading instruction up to cruise.
Cruise was at FL200. TOD was practically 2nm after NGX FMC TOD, which was fine. I started descending at 1600-2000ft/min rate to 15000'. When I reached instructed altitude, and leveled up, ATC went silent for 5 minutes while I was cruising at 15000'. Then I was instructed to descent to 7000', and I did it at 2000ft/min rate, which means I was on instructed altitude before the time. I did that on purpose because I know that PF3 is always late with descent/approach instructions.
Now important bit. I was on 7000' and instructed to descent to 4500' and to descent on ILS. When I got that instruction I was only 2-3nm away from ILS feather, so there was no chance I could descent that fast to capture the localizer! I descended at 1800ft/min rate, and of course overshoot the runway 26L by far, practically overshoot the whole airport (EDDM). Made a circle with the NGX and lined myself manually to capture the localizer.
Now, late ILS approaches happens on EVERY flight, which is pretty frustrating. I must manually line up for the final approach. Why do I need ATC then?

Note that I've set descent rate of 1600ft/min in the PF3 flight profile, and I always descent at a higher or the same rate.
I'm not sure why this is happening since I didn't had a single problem with PFE.
I attached the flight plan and LOG file.
Thank you in advance!