ICSP + FTDI for ATMega328P
I am wondering if the DTR pin is ok to be filtered by a capacitor for ICSP


No.  The typical "Arduino-style" practice is to capacitively couple a signal such as DTR to the ATmega reset pin, so that a toggle of that control signal will reset the processor, but for portability the processor is able to run with either setting of the signal.

In contrast, typical usage of the ISP protocol requires that the reset signal be taken low and held there for an extended period of time.  That would not work with capacitive coupling.

However, you can relocate this "problem" from the board itself, to your programmer or software.


If you do not need broad serial software compatibility, you could directly connect the reset to a header pin, and have to have software of any computer with a serial adapter where that is connected through consistently set that signal (electrically) high to allow the MCU to actually run.
You could put a capacitor in your programmer cable along with a physical switch to bypass it for ISP mode
You could make two different cable versions with and without the capacitor and label / color code them by purpose.
You could use some sort of more custom USB-serial interface in your off-board programming adapter (perhaps a custom one made from an ATmega16u2 as the Uno itself uses?) with some sort of other scheme for controlling the reset that only appropriate software would know how to trigger.


It is also perhaps possible that if you review the details of ISP programming you might be able to do it in a bunch of short steps after toggling the line before the charge bled off the capacitor.  This however seems like it might be more clever than smart.

Note that an FTDI USB-serial chip (especially a base model typically intended for asynchronous serial) isn't a great way to do ISP anyway - you may really want to look at a solution where you use a "programmer" (perhaps an Arduino with the ISP sketch) for ISP but a "USB-UART" for communication, or perhaps unify the two in a custom ISP sketch firmware (though avoid software serial!!)