The result of
$entry->locator()->toLocation(); is not a collection object but a Kirby\Cms\StructureObject object, i.e. a single element in a
And if you call
$location->content() you end ob with a
Kirby\Cms\Content object, which is not a collection type object either.
In general, objects are immutable in Kirby, which means they cannot be changed. But of course, you can create new objects, for example:
$location = $entry->locator()->toLocation();
// get the content object from the StructureObject object and convert to array
$content = $location->content()->toArray();
// add an item to the array
$content['mykey'] = 'somekey';
// create new content object from that array
$content = new Kirby\Cms\Content($content);
// then you can echo the field object like normal
If this has any advantage for your use case over just using the array, that's something you have to decide.