Не полагаясь на сторонний API

1. Установите расширение Tampermonkey в свой браузер.

Chromium browsers (Chrome, Brave, Edge, etc.): https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo?hl=en
Firefox: https://addons.mozilla.org/en-US/firefox/addon/tampermonkey/
Safari: https://apps.apple.com/app/apple-store/id1482490089

2. Добавить новый скрипт

3. Вставьте пользовательский скрипт

// ==UserScript==
// @name         Restore YouTube Dislikes
// @version      1.0
// @description  Restore YouTube dislikes stats.
// @author       luiyongsheng
// @match        *://www.youtube.com/*
// @run_at        document_start
// ==/UserScript==
(function () {
  "use strict";
function calculateDislikes(l, r) {
    let d = Math.round(l * ((5 - r) / (r - 1)));
    return d;
  }
// Your code here...
  function nFormatter(num, digits) {
    const lookup = [
      { value: 1, symbol: "" },
      { value: 1e3, symbol: "k" },
      { value: 1e6, symbol: "M" },
      { value: 1e9, symbol: "G" },
      { value: 1e12, symbol: "T" },
      { value: 1e15, symbol: "P" },
      { value: 1e18, symbol: "E" },
    ];
    const rx = /\.0+$|(\.[0-9]*[1-9])0+$/;
    var item = lookup
      .slice()
      .reverse()
      .find(function (item) {
        return num >= item.value;
      });
    return item
      ? (num / item.value).toFixed(digits).replace(rx, "$1") + item.symbol
      : "0";
  }
  async function waitForElm(s) {
    while (!document.querySelector(s)) {
      await new Promise((r) => requestAnimationFrame(r));
    }
    return;
  }
  async function init() {
    try {
      let data = document.querySelector("ytd-app").data;
for (
        let p = 0;
        p <
        data.response.contents.twoColumnWatchNextResults.results.results
          .contents.length;
        p++
      ) {
        if (
          typeof data.response.contents.twoColumnWatchNextResults.results
            .results.contents[p].videoPrimaryInfoRenderer != "undefined"
        ) {
          var vidroot =
            data.response.contents.twoColumnWatchNextResults.results.results
              .contents[p];
        }
      }
let l;
      if (
        vidroot.videoPrimaryInfoRenderer.videoActions.menuRenderer
          .topLevelButtons[0].toggleButtonRenderer.isToggled
      ) {
        l = parseInt(
          vidroot.videoPrimaryInfoRenderer.videoActions.menuRenderer.topLevelButtons[0].toggleButtonRenderer.toggledText.accessibility.accessibilityData.label.replace(
            /( likes|,)/g,
            ""
          )
        );
      } else {
        l = parseInt(
          vidroot.videoPrimaryInfoRenderer.videoActions.menuRenderer.topLevelButtons[0].toggleButtonRenderer.defaultText.accessibility.accessibilityData.label.replace(
            /( likes|,)/g,
            ""
          )
        );
      }
      let r = data.playerResponse.videoDetails.averageRating;
let dislikes = r != 0 ? await calculateDislikes(l, r) : 0;
let dislikesfin = nFormatter(dislikes);
      let likesfin = nFormatter(l);
      // added bonus
if (r != 0) {
        document.querySelector(
          "yt-formatted-string#text.ytd-toggle-button-renderer"
        ).innerHTML = likesfin;
      } else {
        document.querySelector(
          "yt-formatted-string#text.ytd-toggle-button-renderer"
        ).innerHTML = "0";
      }
document.querySelectorAll(
        "yt-formatted-string#text.ytd-toggle-button-renderer"
      )[1].innerHTML = dislikesfin;
document.querySelector(
        "yt-formatted-string#text.ytd-toggle-button-renderer"
      ).onmouseup = function () {
        document.querySelector(
          "yt-formatted-string#text.ytd-toggle-button-renderer"
        ).innerHTML = "";
      };
document.querySelectorAll(
        "yt-formatted-string#text.ytd-toggle-button-renderer"
      )[1].onmouseup = function () {
        document.querySelectorAll(
          "yt-formatted-string#text.ytd-toggle-button-renderer"
        )[1].innerHTML = "";
      };
let sentimentPercent = (l / (l + dislikes)) * 100;
document
        .querySelector("ytd-sentiment-bar-renderer")
        .removeAttribute("hidden");
document
        .getElementById("like-bar")
        .setAttribute("style", "width: " + sentimentPercent + "%;");
    } catch (e) {
      console.warn(e);
    }
  }
waitForElm("yt-formatted-string#text.ytd-toggle-button-renderer").then(() =>
    init()
  );
window.addEventListener("yt-page-data-updated", init, false);
})();

Кредит: я изменил исходный код, чтобы он поддерживал разделитель тысяч.

4. Готово

Вы увидите красную точку рядом со значком Tampermonkey, когда скрипт активируется.