Это «ожидаемое» поведение HTML-поля с атрибутом contenteditable — как внутри, так и снаружи узла в строку считается одна позиция.
Пример с встроенным кодом отлично иллюстрирует альтернативный подход: он отображает псевдо-курсор в этой единственной позиции, поэтому при навигации стрелками курсор остаётся на той же позиции, но с разными атрибутами и слегка смещён визуально.
Я считаю, что идеальным состоянием будет поддержка такого же поведения для других типов контента.