Het is een redelijk voorstel in je vraag, maar je hebt het concept eigenlijk verkeerd.
De eerste is dat je het concept hebt gemist dat arrays in het algemeen hun vermeldingen hebben die beginnen met een index van 0
voor het eerste element, dus je "positionering" is één eenheid in dit geval en had moeten zijn:
db.collection.update(
{ _id: tsId },
{$push: { 'subdoc.array': { "$each":["3", "4"], "$position": 3 } }}
)
En aangezien u nu op de juiste positie invoegt, staan uw elementen op de juiste plaats.