Faits :
A.
X._ a été incarcéré à la Prison A._ ensuite de sa condamnation, par jugement du 27 septembre 2018 de la Cour d'appel pénale du Tribunal cantonal du canton de Vaud confirmé par arrêt du Tribunal fédéral du 5 février 2019 (6B_94/2019), à une peine privative de liberté à vie et à un internement.
Par décision du 21 juin 2019, l'Office d'exécution des peines (ci-après : OEP) a ordonné le transfert du prénommé au sein des Etablissements B._, dès le 29 juillet 2019, dans le secteur "Sicherheitsvollzug B", pour une durée de six mois.
L'OEP a motivé ce transfert par la nécessité, après un long séjour de X._ dans un établissement de détention avant jugement, d'évaluer notamment les interactions de ce dernier avec les intervenants et codétenus avant un éventuel placement ultérieur en régime de "responsabilisation ordinaire".
B.
Par arrêt du 12 juillet 2019, la Chambre des recours pénale du Tribunal cantonal du canton de Vaud a rejeté le recours formé par X._ contre la décision du 21 juin 2019 et a confirmé celle-ci.
Le 29 juillet 2019, X._ a été transféré aux Etablissements B._.
C.
X._ forme un recours en matière pénale au Tribunal fédéral contre l'arrêt du 12 juillet 2019, en concluant principalement à sa réforme en ce sens qu'il n'est pas transféré aux Etablissements B._ et que l'exécution de sa peine se poursuit aux Etablissements C._. Subsidiairement, il conclut à son annulation et au renvoi de la cause à l'autorité précédente pour nouvelle décision. Il sollicite par ailleurs le bénéfice de l'assistance judiciaire ainsi que l'octroi de l'effet suspensif.
Par ordonnance du 12 août 2019, le Président de la Cour de droit pénal du Tribunal fédéral a rejeté la demande d'effet suspensif présentée par X._.

Considérant en droit :
1.
Selon l'art. 78 al. 2 let. b LTF, le Tribunal fédéral connaît des recours contre les décisions rendues en matière pénale, y compris celles sur l'exécution des peines et des mesures.
2.
Le recourant se plaint d'une violation de son droit d'être entendu. Il soutient que la décision de l'OEP du 21 juin 2019 a été rendue sans qu'il fût préalablement invité à se déterminer concernant le choix de l'établissement dans lequel il devait être transféré.
2.1. Le droit d'être entendu, tel qu'il est garanti par l'art. 29 al. 2 Cst., comprend notamment, pour le justiciable, le droit de s'exprimer sur les éléments pertinents avant qu'une décision soit prise touchant sa situation juridique (<ref-ruling> consid. 5.3 p. 17; <ref-ruling> consid. 4.1 p. 72; <ref-ruling> consid. 2.3 p. 222; <ref-ruling> consid. 6.3.1 p. 299).
Selon la jurisprudence, la violation du droit d'être entendu peut être réparée lorsque la partie lésée a la possibilité de s'exprimer devant une autorité de recours jouissant d'un plein pouvoir d'examen. Cependant, une telle réparation doit rester l'exception et n'est admissible, en principe, que dans l'hypothèse d'une atteinte qui n'est pas particulièrement grave aux droits procéduraux de la partie lésée. Cela étant, une réparation de la violation du droit d'être entendu peut également se justifier, même en présence d'un vice grave, lorsque le renvoi constituerait une vaine formalité et aboutirait à un allongement inutile de la procédure, ce qui serait incompatible avec l'intérêt de la partie concernée à ce que sa cause soit tranchée dans un délai raisonnable (<ref-ruling> consid. 4.4 p. 174; <ref-ruling> consid. 2.8.1 p. 226 s. et les références citées).
2.2. La cour cantonale a exposé qu'une éventuelle violation du droit d'être entendu du recourant relativement à la décision du 21 juin 2019 aurait été réparée puisque l'intéressé avait pu faire valoir ses arguments, dans le cadre de son recours, devant une autorité disposant d'un plein pouvoir d'examen.
2.3. En l'espèce, il ne ressort pas de l'arrêt attaqué que le recourant aurait été invité, avant que son transfert aux Etablissements B._ fût décidé, à se déterminer sur cette question. Cependant, à supposer même qu'une violation de son droit d'être entendu à cet égard puisse être qualifiée de grave, ce que le recourant ne prétend pas, on ne voit pas quel serait désormais son intérêt à pouvoir s'exprimer auprès de l'OEP sur la question. Le recourant a pu faire valoir ses arguments devant l'autorité précédente, dont il ne conteste pas qu'elle disposait d'un plein pouvoir d'examen. Il ne précise nullement, devant le Tribunal fédéral, quel argument il entendrait, le cas échéant, présenter à l'OEP afin d'obtenir une décision différant de celle du 21 juin 2019. Dès lors qu'un renvoi allongerait inutilement la procédure et contreviendrait de surcroît à l'intérêt du recourant à voir son lieu de détention définitivement fixé, le grief doit être rejeté.
3.
Le recourant reproche à l'autorité précédente d'avoir violé les art. 84 CP, 5 et 8 CEDH en confirmant son transfert aux Etablissements B._. Il se plaint par ailleurs d'un établissement arbitraire des faits à cet égard.
L'argumentation du recourant consiste à contester l'utilité d'un placement provisoire aux Etablissements B._ à titre de phase d'observation avant une éventuelle exécution de sa peine en régime de "responsabilité ordinaire". Elle s'attaque par ailleurs au lieu de détention choisi, dans la mesure où les Etablissements B._ se trouvent plus éloignés de la famille de l'intéressé et dans une région de Suisse dont il ne maîtrise pas la langue.
Aucun de ces aspects n'a toutefois été examiné par l'autorité précédente. Dans son recours adressé à la cour cantonale, le recourant avait uniquement soulevé un grief relatif à de prétendues violations de son droit d'être entendu. La cour cantonale n'a donc pas traité de grief relatif au choix de l'établissement - en particulier eu égard à la possibilité pour le recourant de maintenir des contacts avec sa famille ou de communiquer avec le personnel pénitentiaire - sans que l'intéressé se plaigne, à cet égard, d'un déni de justice formel. Soulevé pour la première fois devant le Tribunal fédéral, le grief du recourant est ainsi irrecevable, faute d'épuisement des instances cantonales (cf. art. 80 al. 1 LTF).
Au demeurant, l'argumentation du recourant ne satisfait pas aux réquisits légaux en matière de motivation des griefs (cf. art. 42 al. 2 et 106 al. 2 LTF). En effet, celui-ci se borne à affirmer qu'une phase d'observation serait inutile compte tenu des longs séjours en prison déjà effectués, sans aucunement préciser en quoi le transfert litigieux violerait le droit cantonal, fédéral ou international. Le recourant se contente par ailleurs d'affirmer, d'une part, qu'il sera gêné par son absence de maîtrise de la langue allemande et, d'autre part, que ses parents éprouveront davantage de difficultés pour lui rendre visite, sans expliquer en quoi l'un ou l'autre de ces aspects pourrait faire apparaître la décision attaquée comme contraire au droit cantonal, fédéral ou international.
4.
Au vu de ce qui précède, le recours doit être rejeté dans la mesure où il est recevable. Comme il était dépourvu de chances de succès, la demande d'assistance judiciaire doit être rejetée (art. 64 al. 1 LTF). Le recourant, qui succombe, supportera les frais judiciaires (art. 66 al. 1 LTF), dont le montant sera fixé en tenant compte de sa situation financière, laquelle n'apparaît pas favorable.

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
La demande d'assistance judiciaire est rejetée.
3.
Les frais judiciaires, arrêtés à 1'200 fr., sont mis à la charge du recourant.
4.
Le présent arrêt est communiqué aux parties et au Tribunal cantonal du canton de Vaud, Chambre des recours pénale.
Lausanne, le 18 septembre 2019
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
Le Greffier : Graa