Во первых, ценность сервиса около нулевая с точки зрения других разработчиков, так как в режиме разработчика можно просто поставить ON на против настройки "Выводить частоту кадров".
Во вторых, в том виде как сейчас он у вас написан,
fpsTextView = popupView?.findViewById(R.id.fps)
работать без вашей активности на топе не будет.
В тетьих, что же можно сделать:
а) Полупрозрачное окно активности (тема наследованная от диалога), которое будет всегда поверх других.
б) частота кадров будет выводиться в шторке на уведомлении от foreground service (тут подлянка от андроид 13, где нотифи служб теперь по умолчанию скрыты)