Forward-filling is the default and is usually wrong for anything price-driven: it manufactures zero-return days, deflates measured volatility, and makes a halted stock look like the calmest name in the universe right when it is the most dangerous.
Dropping rows is safer for statistics but breaks alignment across instruments, which matters for any cross-sectional model. The usual compromise is to require a minimum data coverage per instrument per window and exclude anything below it from that day's universe.
Whatever you choose, the fill must be causal. Interpolating between the price before the gap and the price after uses future information, which is look-ahead-bias in its purest and least obvious form.
Related: data-quality-check, look-ahead-bias, universe-construction, session-calendar