Se eliminan los hash/anclas de las URLs en móviles. ¿Cómo evitarlo?

Cuando hago clic en un enlace con un ancla en el escritorio, se desplaza hasta allí. Sin embargo, en móvil (Android, FF y Chrome), el ancla se elimina de la URL, por lo que no hay desplazamiento hasta ese punto.

Lo que estoy intentando hacer:

Tenemos un documento largo de directrices y preguntas frecuentes que necesita enlazar a encabezados. Como Discourse elimina los parámetros id, he creado un componente de tema simple que utiliza atributos de datos personalizados en el documento objetivo y escucha los anclas en la URL para desplazarse al elemento con el atributo de datos coincidente.

¡Funciona en el escritorio!

Sin embargo, en móvil, los anclas parecen eliminarse, de modo que cuando llegas a la página objetivo, no hay desplazamiento hasta el elemento correcto. Y, por supuesto, con un documento largo, es en móvil donde más necesitas esa navegación.

Ahora, sí encuentro que los anclas generados por el componente de Tabla de Contenidos funcionan cuando se abren en un nuevo enlace. No se eliminan de la URL y el navegador se desplaza hasta el lugar correcto.

¿Cómo puedo hacer que esto funcione?


(Desahogo: Ha sido realmente frustrante intentar hacer algo tan básico y fundamental de HTML, es decir, tener anclas y enlazar a ellas. Me doy cuenta de que, debido a que las publicaciones son contenido creado por usuarios, hay problemas de seguridad. Pero siento que las soluciones implementadas para protegerse del abuso son muy burdas y hacen que hacer algo muy simple sea muy complicado. Dicho esto, mi sitio nunca ha sido hackeado, así que supongo que eso es algo.)