The Solitude of Prime Numbers
PowerShell v2+, 237 149 147 231 216 181 174 169 166 bytes

param($n)filter f($a){'1'*$a-match'^(?!(..+)\1+$)..'}for($i=$n;!((f $i)-and(f($i+2)))){$i++}for(){if(f(--$i)){if((f($i-2))-or(f($i+2))){if($i-lt$n-1){exit}}else{$i}}}


Takes input $n. Defines a new function f as the regex prime function (here returning a Boolean if the input is a prime or not).

The next part sets $i to be equal to $n, then loops upward until we find the bottom half of our twin prime pair upper bound. E.g., for input 90, this stops at $i=101.

Then, we loop from the upper bound downward. I know, it looks like an infinite loop, but it'll eventually end.

If the current number is a prime (f(--$i)), but its +/- 2 isn't a prime, we add $i to the pipeline. However, if its +/- 2 is a prime, we check whether we're lower than $n-1 (i.e., to account for the situation when it's inside a twin prime pair), at which point we exit. At program completion, the pipeline is printed to screen via implicit Write-Output.

NB - Due to the looping structure, prints the primes in descending order. OP has clarified that's OK.

Examples

Output here is space-separated, as that's the default stringification method for an array.

PS C:\Tools\Scripts\golfing&gt; 70,71,72,73,90,201,499,982|%{"$_ --&gt; "+(.\the-solitude-of-prime-numbers.ps1 $_)}
70 --&gt; 67
71 --&gt; 67
72 --&gt; 97 89 83 79 67
73 --&gt; 97 89 83 79
90 --&gt; 97 89 83 79
201 --&gt; 223 211
499 --&gt; 509 503 499 491 487 479 467
982 --&gt; 1013 1009 997 991 983 977 971 967 953 947 941 937 929 919 911 907 887