Delete an empty line

So the only way to remove the entire line and not leave an empty line is this?

view.dispatch({
  changes: {
    from: line.from,
    to: line.to + 1,
    insert: "",
  }
});

Can you clarify why removing a newline removes line decorations on the next line?
Any way to “restore” those line decorations? As per Easily track & remove content with decorations, I’m storing them all in a StateField, but based on my understanding, after those changes are applied the line decoration will have already been removed.