Well, in this instance remote code actually means remote. In V3 one can no longer use the tabs.executeScript API [1] in which you could pass an arbitrary server rendered string.
[1] https://developer.chrome.com/docs/extensions/reference/tabs/...
[1] https://developer.chrome.com/docs/extensions/reference/tabs/...
Still not good that they removed that...