|mediawiki/extensions/Wikibase||master||+70 -63||Move the schema.org metadata to the HTML metadata colleciton|
My recollection is that we added this script to the bottom because it would be guaranteed to arrive and be parsed last, as well as be non-render-blocking. I think the hook lifecycle also executed at a favorable time. I'm not sure if the same is true for this change. That's not to suggest any opinion, only that you may wish to verify if you haven't already. As you noted, the new placement appears well within guidelines. I'll add that we A/B tested the original implementation for months and this may have positive, negative, or no effect.
There are related schema changes you may wish to weigh in on in T250317.
According to the documentation:
Indeed. Although for a comparison when I load an article on English without JS I get two render-blocking, uncached <script> tags in the head, the first is 4,441 bytes the second is 1,783 bytes. There are 4 render-blocking stylesheets (thought I assume they are cached for a long time). This change moves 745 bytes (which are ignored) from non-render blocking to blocking. Although it should be noted that 1 KB gets downloaded in less than a second on a dail-up connection.
In looking at this, I learned something interesting.
We are loading a render-blocking stylesheet that is a whopping 18 KB (!) (only ~5 KB transferred) and is only cached for 300 seconds (5 minutes):
Meaning: The user will need to download this
18 KB 5 KB file every 5 minutes or it will block rendering until they do.