This particular project only has the tags ‘architectuur’ and ‘ontwikkeling’. It looks like architectuur is being output twice. This probably means all tags from all projects are being loaded.
In your controller you fetch all tags of all projects and then apply all these tags to the single project. This doesn’t seem to be what you want.
You don’t have a space between your tags
Solution:
<?php foreach($projects as $project): ?>
<?php
// get array of tags from single project
$projectTags = $project->tags()->split(',');
?>
<!-- use implode() to split the array into a string separated by spaces -->
<article class="collection-item <?= implode(' ', $projectTags) ?>">
</article>
<?php endforeach ?>
So I’m not 100% there yet, but I don’t really know php well enough to be able to debug this correctly. But in any case thanks so much for the super fast reply! (Support at 23:00 on a Sunday? Amazing!)