As observed by Clifford in the comments, the problem was indeed caused by the logpoints in use. According to https://code.visualstudio.com/blogs/2018/07/12/introducing-logpoints-and-auto-attach:
A Logpoint is a breakpoint variant that does not "break" into the debugger but instead logs a message to the console... The concept for Logpoints isn't new... we have seen different flavors of this concept in tools like Visual Studio, Edge DevTools and GDB under several names such as Tracepoints and Logpoints.
The thing that I've missed here is that these can have substantial implications in embedded applications. I had 2 of them set inside the time-sensitive ISR, which disrupted its behavior - possibly halting its execution in order to allow the debugger to evaluate and print the log messages.